TSTP Solution File: NUM638^4 by cocATP---0.2.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cocATP---0.2.0
% Problem  : NUM638^4 : TPTP v7.1.0. Released v7.1.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : python CASC.py /export/starexec/sandbox2/benchmark/theBenchmark.p

% Computer : n135.star.cs.uiowa.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2609 0 2.40GHz
% Memory   : 32218.625MB
% OS       : Linux 3.10.0-693.2.2.el7.x86_64
% CPULimit : 300s
% DateTime : Mon Jan  8 13:11:15 EST 2018

% Result   : Unknown 1.31s
% Output   : None 
% Verified : 
% SZS Type : None (Parsing solution fails)
% Syntax   : Number of formulae    : 0

% Comments : 
%------------------------------------------------------------------------------
%----No solution output by system
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.04  % Problem  : NUM638^4 : TPTP v7.1.0. Released v7.1.0.
% 0.00/0.04  % Command  : python CASC.py /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.03/0.23  % Computer : n135.star.cs.uiowa.edu
% 0.03/0.23  % Model    : x86_64 x86_64
% 0.03/0.23  % CPU      : Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz
% 0.03/0.23  % Memory   : 32218.625MB
% 0.03/0.23  % OS       : Linux 3.10.0-693.2.2.el7.x86_64
% 0.03/0.23  % CPULimit : 300
% 0.03/0.23  % DateTime : Fri Jan  5 11:18:59 CST 2018
% 0.03/0.23  % CPUTime  : 
% 0.06/0.25  Python 2.7.13
% 0.06/0.51  Using paths ['/home/cristobal/cocATP/CASC/TPTP/', '/export/starexec/sandbox2/benchmark/', '/export/starexec/sandbox2/benchmark/']
% 0.06/0.51  Failed to open /home/cristobal/cocATP/CASC/TPTP/Axioms/NUM007^0.ax, trying next directory
% 0.06/0.51  FOF formula (<kernel.Constant object at 0x2b22008aee60>, <kernel.DependentProduct object at 0x2b22008ae8c0>) of role type named typ_is_of
% 0.06/0.51  Using role type
% 0.06/0.51  Declaring is_of:(fofType->((fofType->Prop)->Prop))
% 0.06/0.51  FOF formula (((eq (fofType->((fofType->Prop)->Prop))) is_of) (fun (X0:fofType) (X1:(fofType->Prop))=> (X1 X0))) of role definition named def_is_of
% 0.06/0.51  A new definition: (((eq (fofType->((fofType->Prop)->Prop))) is_of) (fun (X0:fofType) (X1:(fofType->Prop))=> (X1 X0)))
% 0.06/0.51  Defined: is_of:=(fun (X0:fofType) (X1:(fofType->Prop))=> (X1 X0))
% 0.06/0.51  FOF formula (<kernel.Constant object at 0x2b22008aee60>, <kernel.DependentProduct object at 0x2b22008ae560>) of role type named typ_all_of
% 0.06/0.51  Using role type
% 0.06/0.51  Declaring all_of:((fofType->Prop)->((fofType->Prop)->Prop))
% 0.06/0.51  FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) all_of) (fun (X0:(fofType->Prop)) (X1:(fofType->Prop))=> (forall (X2:fofType), (((is_of X2) X0)->(X1 X2))))) of role definition named def_all_of
% 0.06/0.51  A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) all_of) (fun (X0:(fofType->Prop)) (X1:(fofType->Prop))=> (forall (X2:fofType), (((is_of X2) X0)->(X1 X2)))))
% 0.06/0.51  Defined: all_of:=(fun (X0:(fofType->Prop)) (X1:(fofType->Prop))=> (forall (X2:fofType), (((is_of X2) X0)->(X1 X2))))
% 0.06/0.51  FOF formula (<kernel.Constant object at 0x2b22008ae560>, <kernel.DependentProduct object at 0x2b22008aefc8>) of role type named typ_eps
% 0.06/0.51  Using role type
% 0.06/0.51  Declaring eps:((fofType->Prop)->fofType)
% 0.06/0.51  FOF formula (<kernel.Constant object at 0x2b22008aeb48>, <kernel.DependentProduct object at 0x2b22008ae6c8>) of role type named typ_in
% 0.06/0.51  Using role type
% 0.06/0.51  Declaring in:(fofType->(fofType->Prop))
% 0.06/0.51  FOF formula (<kernel.Constant object at 0x2b22008ae5a8>, <kernel.DependentProduct object at 0x2b22008ae560>) of role type named typ_d_Subq
% 0.06/0.51  Using role type
% 0.06/0.51  Declaring d_Subq:(fofType->(fofType->Prop))
% 0.06/0.51  FOF formula (((eq (fofType->(fofType->Prop))) d_Subq) (fun (X0:fofType) (X1:fofType)=> (forall (X2:fofType), (((in X2) X0)->((in X2) X1))))) of role definition named def_d_Subq
% 0.06/0.51  A new definition: (((eq (fofType->(fofType->Prop))) d_Subq) (fun (X0:fofType) (X1:fofType)=> (forall (X2:fofType), (((in X2) X0)->((in X2) X1)))))
% 0.06/0.51  Defined: d_Subq:=(fun (X0:fofType) (X1:fofType)=> (forall (X2:fofType), (((in X2) X0)->((in X2) X1))))
% 0.06/0.51  FOF formula (forall (X0:fofType) (X1:fofType), (((d_Subq X0) X1)->(((d_Subq X1) X0)->(((eq fofType) X0) X1)))) of role axiom named set_ext
% 0.06/0.51  A new axiom: (forall (X0:fofType) (X1:fofType), (((d_Subq X0) X1)->(((d_Subq X1) X0)->(((eq fofType) X0) X1))))
% 0.06/0.51  FOF formula (forall (X0:(fofType->Prop)), ((forall (X1:fofType), ((forall (X2:fofType), (((in X2) X1)->(X0 X2)))->(X0 X1)))->(forall (X1:fofType), (X0 X1)))) of role axiom named k_In_ind
% 0.06/0.51  A new axiom: (forall (X0:(fofType->Prop)), ((forall (X1:fofType), ((forall (X2:fofType), (((in X2) X1)->(X0 X2)))->(X0 X1)))->(forall (X1:fofType), (X0 X1))))
% 0.06/0.51  FOF formula (<kernel.Constant object at 0x2b220098e128>, <kernel.Single object at 0x2b22008aee18>) of role type named typ_emptyset
% 0.06/0.51  Using role type
% 0.06/0.51  Declaring emptyset:fofType
% 0.06/0.51  FOF formula (((ex fofType) (fun (X0:fofType)=> ((in X0) emptyset)))->False) of role axiom named k_EmptyAx
% 0.06/0.51  A new axiom: (((ex fofType) (fun (X0:fofType)=> ((in X0) emptyset)))->False)
% 0.06/0.51  FOF formula (<kernel.Constant object at 0x2b220098e320>, <kernel.DependentProduct object at 0x2b22008aeb48>) of role type named typ_union
% 0.06/0.51  Using role type
% 0.06/0.51  Declaring union:(fofType->fofType)
% 0.06/0.51  FOF formula (forall (X0:fofType) (X1:fofType), ((iff ((in X1) (union X0))) ((ex fofType) (fun (X2:fofType)=> ((and ((in X1) X2)) ((in X2) X0)))))) of role axiom named k_UnionEq
% 0.06/0.51  A new axiom: (forall (X0:fofType) (X1:fofType), ((iff ((in X1) (union X0))) ((ex fofType) (fun (X2:fofType)=> ((and ((in X1) X2)) ((in X2) X0))))))
% 0.06/0.51  FOF formula (<kernel.Constant object at 0x2b22008ae830>, <kernel.DependentProduct object at 0x2b22008aedd0>) of role type named typ_power
% 0.06/0.51  Using role type
% 0.06/0.53  Declaring power:(fofType->fofType)
% 0.06/0.53  FOF formula (forall (X0:fofType) (X1:fofType), ((iff ((in X1) (power X0))) ((d_Subq X1) X0))) of role axiom named k_PowerEq
% 0.06/0.53  A new axiom: (forall (X0:fofType) (X1:fofType), ((iff ((in X1) (power X0))) ((d_Subq X1) X0)))
% 0.06/0.53  FOF formula (<kernel.Constant object at 0x2b22008aec20>, <kernel.DependentProduct object at 0x2b22008aecb0>) of role type named typ_repl
% 0.06/0.53  Using role type
% 0.06/0.53  Declaring repl:(fofType->((fofType->fofType)->fofType))
% 0.06/0.53  FOF formula (forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), ((iff ((in X2) ((repl X0) X1))) ((ex fofType) (fun (X3:fofType)=> ((and ((in X3) X0)) (((eq fofType) X2) (X1 X3))))))) of role axiom named k_ReplEq
% 0.06/0.53  A new axiom: (forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), ((iff ((in X2) ((repl X0) X1))) ((ex fofType) (fun (X3:fofType)=> ((and ((in X3) X0)) (((eq fofType) X2) (X1 X3)))))))
% 0.06/0.53  FOF formula (<kernel.Constant object at 0x2b22008aeb48>, <kernel.DependentProduct object at 0x2b22008aef80>) of role type named typ_d_Union_closed
% 0.06/0.53  Using role type
% 0.06/0.53  Declaring d_Union_closed:(fofType->Prop)
% 0.06/0.53  FOF formula (((eq (fofType->Prop)) d_Union_closed) (fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->((in (union X1)) X0))))) of role definition named def_d_Union_closed
% 0.06/0.53  A new definition: (((eq (fofType->Prop)) d_Union_closed) (fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->((in (union X1)) X0)))))
% 0.06/0.53  Defined: d_Union_closed:=(fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->((in (union X1)) X0))))
% 0.06/0.53  FOF formula (<kernel.Constant object at 0x2b22008aef80>, <kernel.DependentProduct object at 0x2b22008ae950>) of role type named typ_d_Power_closed
% 0.06/0.53  Using role type
% 0.06/0.53  Declaring d_Power_closed:(fofType->Prop)
% 0.06/0.53  FOF formula (((eq (fofType->Prop)) d_Power_closed) (fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->((in (power X1)) X0))))) of role definition named def_d_Power_closed
% 0.06/0.53  A new definition: (((eq (fofType->Prop)) d_Power_closed) (fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->((in (power X1)) X0)))))
% 0.06/0.53  Defined: d_Power_closed:=(fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->((in (power X1)) X0))))
% 0.06/0.53  FOF formula (<kernel.Constant object at 0x2b22008aeb48>, <kernel.DependentProduct object at 0x2b22008aeb00>) of role type named typ_d_Repl_closed
% 0.06/0.53  Using role type
% 0.06/0.53  Declaring d_Repl_closed:(fofType->Prop)
% 0.06/0.53  FOF formula (((eq (fofType->Prop)) d_Repl_closed) (fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->(forall (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X1)->((in (X2 X3)) X0)))->((in ((repl X1) X2)) X0))))))) of role definition named def_d_Repl_closed
% 0.06/0.53  A new definition: (((eq (fofType->Prop)) d_Repl_closed) (fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->(forall (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X1)->((in (X2 X3)) X0)))->((in ((repl X1) X2)) X0)))))))
% 0.06/0.53  Defined: d_Repl_closed:=(fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->(forall (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X1)->((in (X2 X3)) X0)))->((in ((repl X1) X2)) X0))))))
% 0.06/0.53  FOF formula (<kernel.Constant object at 0x2b22008aef80>, <kernel.DependentProduct object at 0x2b2200996908>) of role type named typ_d_ZF_closed
% 0.06/0.53  Using role type
% 0.06/0.53  Declaring d_ZF_closed:(fofType->Prop)
% 0.06/0.53  FOF formula (((eq (fofType->Prop)) d_ZF_closed) (fun (X0:fofType)=> ((and ((and (d_Union_closed X0)) (d_Power_closed X0))) (d_Repl_closed X0)))) of role definition named def_d_ZF_closed
% 0.06/0.53  A new definition: (((eq (fofType->Prop)) d_ZF_closed) (fun (X0:fofType)=> ((and ((and (d_Union_closed X0)) (d_Power_closed X0))) (d_Repl_closed X0))))
% 0.06/0.53  Defined: d_ZF_closed:=(fun (X0:fofType)=> ((and ((and (d_Union_closed X0)) (d_Power_closed X0))) (d_Repl_closed X0)))
% 0.06/0.53  FOF formula (<kernel.Constant object at 0x2b2200996758>, <kernel.DependentProduct object at 0x2b2200c7d248>) of role type named typ_univof
% 0.06/0.53  Using role type
% 0.06/0.53  Declaring univof:(fofType->fofType)
% 0.06/0.53  FOF formula (forall (X0:fofType), ((in X0) (univof X0))) of role axiom named k_UnivOf_In
% 0.06/0.53  A new axiom: (forall (X0:fofType), ((in X0) (univof X0)))
% 0.06/0.53  FOF formula (forall (X0:fofType), (d_ZF_closed (univof X0))) of role axiom named k_UnivOf_ZF_closed
% 0.34/0.55  A new axiom: (forall (X0:fofType), (d_ZF_closed (univof X0)))
% 0.34/0.55  FOF formula (<kernel.Constant object at 0x2b22008aef80>, <kernel.DependentProduct object at 0x2b22008aedd0>) of role type named typ_if
% 0.34/0.55  Using role type
% 0.34/0.55  Declaring if:(Prop->(fofType->(fofType->fofType)))
% 0.34/0.55  FOF formula (((eq (Prop->(fofType->(fofType->fofType)))) if) (fun (X0:Prop) (X1:fofType) (X2:fofType)=> (eps (fun (X3:fofType)=> ((or ((and X0) (((eq fofType) X3) X1))) ((and (X0->False)) (((eq fofType) X3) X2))))))) of role definition named def_if
% 0.34/0.55  A new definition: (((eq (Prop->(fofType->(fofType->fofType)))) if) (fun (X0:Prop) (X1:fofType) (X2:fofType)=> (eps (fun (X3:fofType)=> ((or ((and X0) (((eq fofType) X3) X1))) ((and (X0->False)) (((eq fofType) X3) X2)))))))
% 0.34/0.55  Defined: if:=(fun (X0:Prop) (X1:fofType) (X2:fofType)=> (eps (fun (X3:fofType)=> ((or ((and X0) (((eq fofType) X3) X1))) ((and (X0->False)) (((eq fofType) X3) X2))))))
% 0.34/0.55  FOF formula (forall (X0:Prop) (X1:fofType) (X2:fofType), ((or ((and X0) (((eq fofType) (((if X0) X1) X2)) X1))) ((and (X0->False)) (((eq fofType) (((if X0) X1) X2)) X2)))) of role axiom named if_i_correct
% 0.34/0.55  A new axiom: (forall (X0:Prop) (X1:fofType) (X2:fofType), ((or ((and X0) (((eq fofType) (((if X0) X1) X2)) X1))) ((and (X0->False)) (((eq fofType) (((if X0) X1) X2)) X2))))
% 0.34/0.55  FOF formula (forall (X0:Prop) (X1:fofType) (X2:fofType), ((X0->False)->(((eq fofType) (((if X0) X1) X2)) X2))) of role axiom named if_i_0
% 0.34/0.55  A new axiom: (forall (X0:Prop) (X1:fofType) (X2:fofType), ((X0->False)->(((eq fofType) (((if X0) X1) X2)) X2)))
% 0.34/0.55  FOF formula (forall (X0:Prop) (X1:fofType) (X2:fofType), (X0->(((eq fofType) (((if X0) X1) X2)) X1))) of role axiom named if_i_1
% 0.34/0.55  A new axiom: (forall (X0:Prop) (X1:fofType) (X2:fofType), (X0->(((eq fofType) (((if X0) X1) X2)) X1)))
% 0.34/0.55  FOF formula (forall (X0:Prop) (X1:fofType) (X2:fofType), ((or (((eq fofType) (((if X0) X1) X2)) X1)) (((eq fofType) (((if X0) X1) X2)) X2))) of role axiom named if_i_or
% 0.34/0.55  A new axiom: (forall (X0:Prop) (X1:fofType) (X2:fofType), ((or (((eq fofType) (((if X0) X1) X2)) X1)) (((eq fofType) (((if X0) X1) X2)) X2)))
% 0.34/0.55  FOF formula (<kernel.Constant object at 0x2b22008ae908>, <kernel.DependentProduct object at 0x2b2200c7d248>) of role type named typ_nIn
% 0.34/0.55  Using role type
% 0.34/0.55  Declaring nIn:(fofType->(fofType->Prop))
% 0.34/0.55  FOF formula (((eq (fofType->(fofType->Prop))) nIn) (fun (X0:fofType) (X1:fofType)=> (((in X0) X1)->False))) of role definition named def_nIn
% 0.34/0.55  A new definition: (((eq (fofType->(fofType->Prop))) nIn) (fun (X0:fofType) (X1:fofType)=> (((in X0) X1)->False)))
% 0.34/0.55  Defined: nIn:=(fun (X0:fofType) (X1:fofType)=> (((in X0) X1)->False))
% 0.34/0.55  FOF formula (forall (X0:fofType) (X1:fofType), (((in X1) (power X0))->((d_Subq X1) X0))) of role axiom named k_PowerE
% 0.34/0.55  A new axiom: (forall (X0:fofType) (X1:fofType), (((in X1) (power X0))->((d_Subq X1) X0)))
% 0.34/0.55  FOF formula (forall (X0:fofType) (X1:fofType), (((d_Subq X1) X0)->((in X1) (power X0)))) of role axiom named k_PowerI
% 0.34/0.55  A new axiom: (forall (X0:fofType) (X1:fofType), (((d_Subq X1) X0)->((in X1) (power X0))))
% 0.34/0.55  FOF formula (forall (X0:fofType), ((in X0) (power X0))) of role axiom named k_Self_In_Power
% 0.34/0.55  A new axiom: (forall (X0:fofType), ((in X0) (power X0)))
% 0.34/0.55  FOF formula (<kernel.Constant object at 0x2b2200c7d758>, <kernel.DependentProduct object at 0x2b2200c7d9e0>) of role type named typ_d_UPair
% 0.34/0.55  Using role type
% 0.34/0.55  Declaring d_UPair:(fofType->(fofType->fofType))
% 0.34/0.55  FOF formula (((eq (fofType->(fofType->fofType))) d_UPair) (fun (X0:fofType) (X1:fofType)=> ((repl (power (power emptyset))) (fun (X2:fofType)=> (((if ((in emptyset) X2)) X0) X1))))) of role definition named def_d_UPair
% 0.34/0.55  A new definition: (((eq (fofType->(fofType->fofType))) d_UPair) (fun (X0:fofType) (X1:fofType)=> ((repl (power (power emptyset))) (fun (X2:fofType)=> (((if ((in emptyset) X2)) X0) X1)))))
% 0.34/0.55  Defined: d_UPair:=(fun (X0:fofType) (X1:fofType)=> ((repl (power (power emptyset))) (fun (X2:fofType)=> (((if ((in emptyset) X2)) X0) X1))))
% 0.34/0.55  FOF formula (<kernel.Constant object at 0x2b2200c7d9e0>, <kernel.DependentProduct object at 0x2b2200c7d098>) of role type named typ_d_Sing
% 0.34/0.55  Using role type
% 0.35/0.56  Declaring d_Sing:(fofType->fofType)
% 0.35/0.56  FOF formula (((eq (fofType->fofType)) d_Sing) (fun (X0:fofType)=> ((d_UPair X0) X0))) of role definition named def_d_Sing
% 0.35/0.56  A new definition: (((eq (fofType->fofType)) d_Sing) (fun (X0:fofType)=> ((d_UPair X0) X0)))
% 0.35/0.56  Defined: d_Sing:=(fun (X0:fofType)=> ((d_UPair X0) X0))
% 0.35/0.56  FOF formula (<kernel.Constant object at 0x2b2200c7d098>, <kernel.DependentProduct object at 0x2b2200c7d8c0>) of role type named typ_binunion
% 0.35/0.56  Using role type
% 0.35/0.56  Declaring binunion:(fofType->(fofType->fofType))
% 0.35/0.56  FOF formula (((eq (fofType->(fofType->fofType))) binunion) (fun (X0:fofType) (X1:fofType)=> (union ((d_UPair X0) X1)))) of role definition named def_binunion
% 0.35/0.56  A new definition: (((eq (fofType->(fofType->fofType))) binunion) (fun (X0:fofType) (X1:fofType)=> (union ((d_UPair X0) X1))))
% 0.35/0.56  Defined: binunion:=(fun (X0:fofType) (X1:fofType)=> (union ((d_UPair X0) X1)))
% 0.35/0.56  FOF formula (<kernel.Constant object at 0x2b2200c7d8c0>, <kernel.DependentProduct object at 0x2b2200c7d3b0>) of role type named typ_famunion
% 0.35/0.56  Using role type
% 0.35/0.56  Declaring famunion:(fofType->((fofType->fofType)->fofType))
% 0.35/0.56  FOF formula (((eq (fofType->((fofType->fofType)->fofType))) famunion) (fun (X0:fofType) (X1:(fofType->fofType))=> (union ((repl X0) X1)))) of role definition named def_famunion
% 0.35/0.56  A new definition: (((eq (fofType->((fofType->fofType)->fofType))) famunion) (fun (X0:fofType) (X1:(fofType->fofType))=> (union ((repl X0) X1))))
% 0.35/0.56  Defined: famunion:=(fun (X0:fofType) (X1:(fofType->fofType))=> (union ((repl X0) X1)))
% 0.35/0.56  FOF formula (<kernel.Constant object at 0x2b2200c7d3b0>, <kernel.DependentProduct object at 0x2b2200c7d560>) of role type named typ_d_Sep
% 0.35/0.56  Using role type
% 0.35/0.56  Declaring d_Sep:(fofType->((fofType->Prop)->fofType))
% 0.35/0.56  FOF formula (((eq (fofType->((fofType->Prop)->fofType))) d_Sep) (fun (X0:fofType) (X1:(fofType->Prop))=> (((if ((ex fofType) (fun (X2:fofType)=> ((and ((in X2) X0)) (X1 X2))))) ((repl X0) (fun (X2:fofType)=> (((if (X1 X2)) X2) (eps (fun (X3:fofType)=> ((and ((in X3) X0)) (X1 X3)))))))) emptyset))) of role definition named def_d_Sep
% 0.35/0.56  A new definition: (((eq (fofType->((fofType->Prop)->fofType))) d_Sep) (fun (X0:fofType) (X1:(fofType->Prop))=> (((if ((ex fofType) (fun (X2:fofType)=> ((and ((in X2) X0)) (X1 X2))))) ((repl X0) (fun (X2:fofType)=> (((if (X1 X2)) X2) (eps (fun (X3:fofType)=> ((and ((in X3) X0)) (X1 X3)))))))) emptyset)))
% 0.35/0.56  Defined: d_Sep:=(fun (X0:fofType) (X1:(fofType->Prop))=> (((if ((ex fofType) (fun (X2:fofType)=> ((and ((in X2) X0)) (X1 X2))))) ((repl X0) (fun (X2:fofType)=> (((if (X1 X2)) X2) (eps (fun (X3:fofType)=> ((and ((in X3) X0)) (X1 X3)))))))) emptyset))
% 0.35/0.56  FOF formula (forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) X0)->((X1 X2)->((in X2) ((d_Sep X0) X1))))) of role axiom named k_SepI
% 0.35/0.56  A new axiom: (forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) X0)->((X1 X2)->((in X2) ((d_Sep X0) X1)))))
% 0.35/0.56  FOF formula (forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) ((d_Sep X0) X1))->((in X2) X0))) of role axiom named k_SepE1
% 0.35/0.56  A new axiom: (forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) ((d_Sep X0) X1))->((in X2) X0)))
% 0.35/0.56  FOF formula (forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) ((d_Sep X0) X1))->(X1 X2))) of role axiom named k_SepE2
% 0.35/0.56  A new axiom: (forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) ((d_Sep X0) X1))->(X1 X2)))
% 0.35/0.56  FOF formula (<kernel.Constant object at 0x2b2200c7d8c0>, <kernel.DependentProduct object at 0x2b2200c7d830>) of role type named typ_d_ReplSep
% 0.35/0.56  Using role type
% 0.35/0.56  Declaring d_ReplSep:(fofType->((fofType->Prop)->((fofType->fofType)->fofType)))
% 0.35/0.56  FOF formula (((eq (fofType->((fofType->Prop)->((fofType->fofType)->fofType)))) d_ReplSep) (fun (X0:fofType) (X1:(fofType->Prop))=> (repl ((d_Sep X0) X1)))) of role definition named def_d_ReplSep
% 0.35/0.56  A new definition: (((eq (fofType->((fofType->Prop)->((fofType->fofType)->fofType)))) d_ReplSep) (fun (X0:fofType) (X1:(fofType->Prop))=> (repl ((d_Sep X0) X1))))
% 0.35/0.56  Defined: d_ReplSep:=(fun (X0:fofType) (X1:(fofType->Prop))=> (repl ((d_Sep X0) X1)))
% 0.35/0.56  FOF formula (<kernel.Constant object at 0x2b2200c7d248>, <kernel.DependentProduct object at 0x2b21f902e950>) of role type named typ_setminus
% 0.35/0.58  Using role type
% 0.35/0.58  Declaring setminus:(fofType->(fofType->fofType))
% 0.35/0.58  FOF formula (((eq (fofType->(fofType->fofType))) setminus) (fun (X0:fofType) (X1:fofType)=> ((d_Sep X0) (fun (X2:fofType)=> ((nIn X2) X1))))) of role definition named def_setminus
% 0.35/0.58  A new definition: (((eq (fofType->(fofType->fofType))) setminus) (fun (X0:fofType) (X1:fofType)=> ((d_Sep X0) (fun (X2:fofType)=> ((nIn X2) X1)))))
% 0.35/0.58  Defined: setminus:=(fun (X0:fofType) (X1:fofType)=> ((d_Sep X0) (fun (X2:fofType)=> ((nIn X2) X1))))
% 0.35/0.58  FOF formula (<kernel.Constant object at 0x2b2200c7d248>, <kernel.DependentProduct object at 0x2b21f902e0e0>) of role type named typ_d_In_rec_G
% 0.35/0.58  Using role type
% 0.35/0.58  Declaring d_In_rec_G:((fofType->((fofType->fofType)->fofType))->(fofType->(fofType->Prop)))
% 0.35/0.58  FOF formula (((eq ((fofType->((fofType->fofType)->fofType))->(fofType->(fofType->Prop)))) d_In_rec_G) (fun (X0:(fofType->((fofType->fofType)->fofType))) (X1:fofType) (X2:fofType)=> (forall (X3:(fofType->(fofType->Prop))), ((forall (X4:fofType) (X5:(fofType->fofType)), ((forall (X6:fofType), (((in X6) X4)->((X3 X6) (X5 X6))))->((X3 X4) ((X0 X4) X5))))->((X3 X1) X2))))) of role definition named def_d_In_rec_G
% 0.35/0.58  A new definition: (((eq ((fofType->((fofType->fofType)->fofType))->(fofType->(fofType->Prop)))) d_In_rec_G) (fun (X0:(fofType->((fofType->fofType)->fofType))) (X1:fofType) (X2:fofType)=> (forall (X3:(fofType->(fofType->Prop))), ((forall (X4:fofType) (X5:(fofType->fofType)), ((forall (X6:fofType), (((in X6) X4)->((X3 X6) (X5 X6))))->((X3 X4) ((X0 X4) X5))))->((X3 X1) X2)))))
% 0.35/0.58  Defined: d_In_rec_G:=(fun (X0:(fofType->((fofType->fofType)->fofType))) (X1:fofType) (X2:fofType)=> (forall (X3:(fofType->(fofType->Prop))), ((forall (X4:fofType) (X5:(fofType->fofType)), ((forall (X6:fofType), (((in X6) X4)->((X3 X6) (X5 X6))))->((X3 X4) ((X0 X4) X5))))->((X3 X1) X2))))
% 0.35/0.58  FOF formula (<kernel.Constant object at 0x2b2200c7d248>, <kernel.DependentProduct object at 0x2b21f902e680>) of role type named typ_d_In_rec
% 0.35/0.58  Using role type
% 0.35/0.58  Declaring d_In_rec:((fofType->((fofType->fofType)->fofType))->(fofType->fofType))
% 0.35/0.58  FOF formula (((eq ((fofType->((fofType->fofType)->fofType))->(fofType->fofType))) d_In_rec) (fun (X0:(fofType->((fofType->fofType)->fofType))) (X1:fofType)=> (eps ((d_In_rec_G X0) X1)))) of role definition named def_d_In_rec
% 0.35/0.58  A new definition: (((eq ((fofType->((fofType->fofType)->fofType))->(fofType->fofType))) d_In_rec) (fun (X0:(fofType->((fofType->fofType)->fofType))) (X1:fofType)=> (eps ((d_In_rec_G X0) X1))))
% 0.35/0.58  Defined: d_In_rec:=(fun (X0:(fofType->((fofType->fofType)->fofType))) (X1:fofType)=> (eps ((d_In_rec_G X0) X1)))
% 0.35/0.58  FOF formula (<kernel.Constant object at 0x2b21f902e680>, <kernel.DependentProduct object at 0x2b21f902e320>) of role type named typ_ordsucc
% 0.35/0.58  Using role type
% 0.35/0.58  Declaring ordsucc:(fofType->fofType)
% 0.35/0.58  FOF formula (((eq (fofType->fofType)) ordsucc) (fun (X0:fofType)=> ((binunion X0) (d_Sing X0)))) of role definition named def_ordsucc
% 0.35/0.58  A new definition: (((eq (fofType->fofType)) ordsucc) (fun (X0:fofType)=> ((binunion X0) (d_Sing X0))))
% 0.35/0.58  Defined: ordsucc:=(fun (X0:fofType)=> ((binunion X0) (d_Sing X0)))
% 0.35/0.58  FOF formula (forall (X0:fofType), (not (((eq fofType) (ordsucc X0)) emptyset))) of role axiom named neq_ordsucc_0
% 0.35/0.58  A new axiom: (forall (X0:fofType), (not (((eq fofType) (ordsucc X0)) emptyset)))
% 0.35/0.58  FOF formula (forall (X0:fofType) (X1:fofType), ((((eq fofType) (ordsucc X0)) (ordsucc X1))->(((eq fofType) X0) X1))) of role axiom named ordsucc_inj
% 0.35/0.58  A new axiom: (forall (X0:fofType) (X1:fofType), ((((eq fofType) (ordsucc X0)) (ordsucc X1))->(((eq fofType) X0) X1)))
% 0.35/0.58  FOF formula ((in emptyset) (ordsucc emptyset)) of role axiom named k_In_0_1
% 0.35/0.58  A new axiom: ((in emptyset) (ordsucc emptyset))
% 0.35/0.58  FOF formula (<kernel.Constant object at 0x2b21f902e2d8>, <kernel.DependentProduct object at 0x2b21f902e950>) of role type named typ_nat_p
% 0.35/0.58  Using role type
% 0.35/0.58  Declaring nat_p:(fofType->Prop)
% 0.35/0.58  FOF formula (((eq (fofType->Prop)) nat_p) (fun (X0:fofType)=> (forall (X1:(fofType->Prop)), ((X1 emptyset)->((forall (X2:fofType), ((X1 X2)->(X1 (ordsucc X2))))->(X1 X0)))))) of role definition named def_nat_p
% 0.35/0.59  A new definition: (((eq (fofType->Prop)) nat_p) (fun (X0:fofType)=> (forall (X1:(fofType->Prop)), ((X1 emptyset)->((forall (X2:fofType), ((X1 X2)->(X1 (ordsucc X2))))->(X1 X0))))))
% 0.35/0.59  Defined: nat_p:=(fun (X0:fofType)=> (forall (X1:(fofType->Prop)), ((X1 emptyset)->((forall (X2:fofType), ((X1 X2)->(X1 (ordsucc X2))))->(X1 X0)))))
% 0.35/0.59  FOF formula (forall (X0:fofType), ((nat_p X0)->(nat_p (ordsucc X0)))) of role axiom named nat_ordsucc
% 0.35/0.59  A new axiom: (forall (X0:fofType), ((nat_p X0)->(nat_p (ordsucc X0))))
% 0.35/0.59  FOF formula (nat_p (ordsucc emptyset)) of role axiom named nat_1
% 0.35/0.59  A new axiom: (nat_p (ordsucc emptyset))
% 0.35/0.59  FOF formula (forall (X0:(fofType->Prop)), ((X0 emptyset)->((forall (X1:fofType), ((nat_p X1)->((X0 X1)->(X0 (ordsucc X1)))))->(forall (X1:fofType), ((nat_p X1)->(X0 X1)))))) of role axiom named nat_ind
% 0.35/0.59  A new axiom: (forall (X0:(fofType->Prop)), ((X0 emptyset)->((forall (X1:fofType), ((nat_p X1)->((X0 X1)->(X0 (ordsucc X1)))))->(forall (X1:fofType), ((nat_p X1)->(X0 X1))))))
% 0.35/0.59  FOF formula (forall (X0:fofType), ((nat_p X0)->((or (((eq fofType) X0) emptyset)) ((ex fofType) (fun (X1:fofType)=> ((and (nat_p X1)) (((eq fofType) X0) (ordsucc X1)))))))) of role axiom named nat_inv
% 0.35/0.59  A new axiom: (forall (X0:fofType), ((nat_p X0)->((or (((eq fofType) X0) emptyset)) ((ex fofType) (fun (X1:fofType)=> ((and (nat_p X1)) (((eq fofType) X0) (ordsucc X1))))))))
% 0.35/0.59  FOF formula (<kernel.Constant object at 0x2b21f902e9e0>, <kernel.Single object at 0x2b21f902e710>) of role type named typ_omega
% 0.35/0.59  Using role type
% 0.35/0.59  Declaring omega:fofType
% 0.35/0.59  FOF formula (((eq fofType) omega) ((d_Sep (univof emptyset)) nat_p)) of role definition named def_omega
% 0.35/0.59  A new definition: (((eq fofType) omega) ((d_Sep (univof emptyset)) nat_p))
% 0.35/0.59  Defined: omega:=((d_Sep (univof emptyset)) nat_p)
% 0.35/0.59  FOF formula (forall (X0:fofType), (((in X0) omega)->(nat_p X0))) of role axiom named omega_nat_p
% 0.35/0.59  A new axiom: (forall (X0:fofType), (((in X0) omega)->(nat_p X0)))
% 0.35/0.59  FOF formula (forall (X0:fofType), ((nat_p X0)->((in X0) omega))) of role axiom named nat_p_omega
% 0.35/0.59  A new axiom: (forall (X0:fofType), ((nat_p X0)->((in X0) omega)))
% 0.35/0.59  FOF formula (<kernel.Constant object at 0x2b21f902e290>, <kernel.DependentProduct object at 0x2b21f902e710>) of role type named typ_d_Inj1
% 0.35/0.59  Using role type
% 0.35/0.59  Declaring d_Inj1:(fofType->fofType)
% 0.35/0.59  FOF formula (((eq (fofType->fofType)) d_Inj1) (d_In_rec (fun (X0:fofType) (X1:(fofType->fofType))=> ((binunion (d_Sing emptyset)) ((repl X0) X1))))) of role definition named def_d_Inj1
% 0.35/0.59  A new definition: (((eq (fofType->fofType)) d_Inj1) (d_In_rec (fun (X0:fofType) (X1:(fofType->fofType))=> ((binunion (d_Sing emptyset)) ((repl X0) X1)))))
% 0.35/0.59  Defined: d_Inj1:=(d_In_rec (fun (X0:fofType) (X1:(fofType->fofType))=> ((binunion (d_Sing emptyset)) ((repl X0) X1))))
% 0.35/0.59  FOF formula (<kernel.Constant object at 0x2b21f902e9e0>, <kernel.DependentProduct object at 0x2b21f902ed40>) of role type named typ_d_Inj0
% 0.35/0.59  Using role type
% 0.35/0.59  Declaring d_Inj0:(fofType->fofType)
% 0.35/0.59  FOF formula (((eq (fofType->fofType)) d_Inj0) (fun (X0:fofType)=> ((repl X0) d_Inj1))) of role definition named def_d_Inj0
% 0.35/0.59  A new definition: (((eq (fofType->fofType)) d_Inj0) (fun (X0:fofType)=> ((repl X0) d_Inj1)))
% 0.35/0.59  Defined: d_Inj0:=(fun (X0:fofType)=> ((repl X0) d_Inj1))
% 0.35/0.59  FOF formula (<kernel.Constant object at 0x2b21f902ed40>, <kernel.DependentProduct object at 0x2b21f902e710>) of role type named typ_d_Unj
% 0.35/0.59  Using role type
% 0.35/0.59  Declaring d_Unj:(fofType->fofType)
% 0.35/0.59  FOF formula (((eq (fofType->fofType)) d_Unj) (d_In_rec (fun (X0:fofType)=> (repl ((setminus X0) (d_Sing emptyset)))))) of role definition named def_d_Unj
% 0.35/0.59  A new definition: (((eq (fofType->fofType)) d_Unj) (d_In_rec (fun (X0:fofType)=> (repl ((setminus X0) (d_Sing emptyset))))))
% 0.35/0.59  Defined: d_Unj:=(d_In_rec (fun (X0:fofType)=> (repl ((setminus X0) (d_Sing emptyset)))))
% 0.35/0.59  FOF formula (<kernel.Constant object at 0x2b21f902e290>, <kernel.DependentProduct object at 0x2b21f902e710>) of role type named typ_pair
% 0.35/0.59  Using role type
% 0.35/0.59  Declaring pair:(fofType->(fofType->fofType))
% 0.35/0.59  FOF formula (((eq (fofType->(fofType->fofType))) pair) (fun (X0:fofType) (X1:fofType)=> ((binunion ((repl X0) d_Inj0)) ((repl X1) d_Inj1)))) of role definition named def_pair
% 0.35/0.61  A new definition: (((eq (fofType->(fofType->fofType))) pair) (fun (X0:fofType) (X1:fofType)=> ((binunion ((repl X0) d_Inj0)) ((repl X1) d_Inj1))))
% 0.35/0.61  Defined: pair:=(fun (X0:fofType) (X1:fofType)=> ((binunion ((repl X0) d_Inj0)) ((repl X1) d_Inj1)))
% 0.35/0.61  FOF formula (<kernel.Constant object at 0x2b21f902e710>, <kernel.DependentProduct object at 0x2b21f902e518>) of role type named typ_proj0
% 0.35/0.61  Using role type
% 0.35/0.61  Declaring proj0:(fofType->fofType)
% 0.35/0.61  FOF formula (((eq (fofType->fofType)) proj0) (fun (X0:fofType)=> (((d_ReplSep X0) (fun (X1:fofType)=> ((ex fofType) (fun (X2:fofType)=> (((eq fofType) (d_Inj0 X2)) X1))))) d_Unj))) of role definition named def_proj0
% 0.35/0.61  A new definition: (((eq (fofType->fofType)) proj0) (fun (X0:fofType)=> (((d_ReplSep X0) (fun (X1:fofType)=> ((ex fofType) (fun (X2:fofType)=> (((eq fofType) (d_Inj0 X2)) X1))))) d_Unj)))
% 0.35/0.61  Defined: proj0:=(fun (X0:fofType)=> (((d_ReplSep X0) (fun (X1:fofType)=> ((ex fofType) (fun (X2:fofType)=> (((eq fofType) (d_Inj0 X2)) X1))))) d_Unj))
% 0.35/0.61  FOF formula (<kernel.Constant object at 0x2b21f902e518>, <kernel.DependentProduct object at 0x2b21f902e440>) of role type named typ_proj1
% 0.35/0.61  Using role type
% 0.35/0.61  Declaring _TPTP_proj1:(fofType->fofType)
% 0.35/0.61  FOF formula (((eq (fofType->fofType)) _TPTP_proj1) (fun (X0:fofType)=> (((d_ReplSep X0) (fun (X1:fofType)=> ((ex fofType) (fun (X2:fofType)=> (((eq fofType) (d_Inj1 X2)) X1))))) d_Unj))) of role definition named def_proj1
% 0.35/0.61  A new definition: (((eq (fofType->fofType)) _TPTP_proj1) (fun (X0:fofType)=> (((d_ReplSep X0) (fun (X1:fofType)=> ((ex fofType) (fun (X2:fofType)=> (((eq fofType) (d_Inj1 X2)) X1))))) d_Unj)))
% 0.35/0.61  Defined: _TPTP_proj1:=(fun (X0:fofType)=> (((d_ReplSep X0) (fun (X1:fofType)=> ((ex fofType) (fun (X2:fofType)=> (((eq fofType) (d_Inj1 X2)) X1))))) d_Unj))
% 0.35/0.61  FOF formula (forall (X0:fofType) (X1:fofType), (((eq fofType) (proj0 ((pair X0) X1))) X0)) of role axiom named proj0_pair_eq
% 0.35/0.61  A new axiom: (forall (X0:fofType) (X1:fofType), (((eq fofType) (proj0 ((pair X0) X1))) X0))
% 0.35/0.61  FOF formula (forall (X0:fofType) (X1:fofType), (((eq fofType) (_TPTP_proj1 ((pair X0) X1))) X1)) of role axiom named proj1_pair_eq
% 0.35/0.61  A new axiom: (forall (X0:fofType) (X1:fofType), (((eq fofType) (_TPTP_proj1 ((pair X0) X1))) X1))
% 0.35/0.61  FOF formula (<kernel.Constant object at 0x2b21f902ee18>, <kernel.DependentProduct object at 0x2b21f902e8c0>) of role type named typ_d_Sigma
% 0.35/0.61  Using role type
% 0.35/0.61  Declaring d_Sigma:(fofType->((fofType->fofType)->fofType))
% 0.35/0.61  FOF formula (((eq (fofType->((fofType->fofType)->fofType))) d_Sigma) (fun (X0:fofType) (X1:(fofType->fofType))=> ((famunion X0) (fun (X2:fofType)=> ((repl (X1 X2)) (pair X2)))))) of role definition named def_d_Sigma
% 0.35/0.61  A new definition: (((eq (fofType->((fofType->fofType)->fofType))) d_Sigma) (fun (X0:fofType) (X1:(fofType->fofType))=> ((famunion X0) (fun (X2:fofType)=> ((repl (X1 X2)) (pair X2))))))
% 0.35/0.61  Defined: d_Sigma:=(fun (X0:fofType) (X1:(fofType->fofType))=> ((famunion X0) (fun (X2:fofType)=> ((repl (X1 X2)) (pair X2)))))
% 0.35/0.61  FOF formula (forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) X0)->(forall (X3:fofType), (((in X3) (X1 X2))->((in ((pair X2) X3)) ((d_Sigma X0) X1)))))) of role axiom named pair_Sigma
% 0.35/0.61  A new axiom: (forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) X0)->(forall (X3:fofType), (((in X3) (X1 X2))->((in ((pair X2) X3)) ((d_Sigma X0) X1))))))
% 0.35/0.61  FOF formula (forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((and ((and (((eq fofType) ((pair (proj0 X2)) (_TPTP_proj1 X2))) X2)) ((in (proj0 X2)) X0))) ((in (_TPTP_proj1 X2)) (X1 (proj0 X2)))))) of role axiom named k_Sigma_eta_proj0_proj1
% 0.35/0.61  A new axiom: (forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((and ((and (((eq fofType) ((pair (proj0 X2)) (_TPTP_proj1 X2))) X2)) ((in (proj0 X2)) X0))) ((in (_TPTP_proj1 X2)) (X1 (proj0 X2))))))
% 0.35/0.61  FOF formula (forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->(((eq fofType) ((pair (proj0 X2)) (_TPTP_proj1 X2))) X2))) of role axiom named proj_Sigma_eta
% 0.41/0.63  A new axiom: (forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->(((eq fofType) ((pair (proj0 X2)) (_TPTP_proj1 X2))) X2)))
% 0.41/0.63  FOF formula (forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((in (proj0 X2)) X0))) of role axiom named proj0_Sigma
% 0.41/0.63  A new axiom: (forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((in (proj0 X2)) X0)))
% 0.41/0.63  FOF formula (forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((in (_TPTP_proj1 X2)) (X1 (proj0 X2))))) of role axiom named proj1_Sigma
% 0.41/0.63  A new axiom: (forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((in (_TPTP_proj1 X2)) (X1 (proj0 X2)))))
% 0.41/0.63  FOF formula (<kernel.Constant object at 0x2b21f902e290>, <kernel.DependentProduct object at 0x2b21f902ee18>) of role type named typ_setprod
% 0.41/0.63  Using role type
% 0.41/0.63  Declaring setprod:(fofType->(fofType->fofType))
% 0.41/0.63  FOF formula (((eq (fofType->(fofType->fofType))) setprod) (fun (X0:fofType) (X1:fofType)=> ((d_Sigma X0) (fun (X2:fofType)=> X1)))) of role definition named def_setprod
% 0.41/0.63  A new definition: (((eq (fofType->(fofType->fofType))) setprod) (fun (X0:fofType) (X1:fofType)=> ((d_Sigma X0) (fun (X2:fofType)=> X1))))
% 0.41/0.63  Defined: setprod:=(fun (X0:fofType) (X1:fofType)=> ((d_Sigma X0) (fun (X2:fofType)=> X1)))
% 0.41/0.63  FOF formula (<kernel.Constant object at 0x2b21f902ee18>, <kernel.DependentProduct object at 0x2b21f902ecb0>) of role type named typ_ap
% 0.41/0.63  Using role type
% 0.41/0.63  Declaring ap:(fofType->(fofType->fofType))
% 0.41/0.63  FOF formula (((eq (fofType->(fofType->fofType))) ap) (fun (X0:fofType) (X1:fofType)=> (((d_ReplSep X0) (fun (X2:fofType)=> ((ex fofType) (fun (X3:fofType)=> (((eq fofType) X2) ((pair X1) X3)))))) _TPTP_proj1))) of role definition named def_ap
% 0.41/0.63  A new definition: (((eq (fofType->(fofType->fofType))) ap) (fun (X0:fofType) (X1:fofType)=> (((d_ReplSep X0) (fun (X2:fofType)=> ((ex fofType) (fun (X3:fofType)=> (((eq fofType) X2) ((pair X1) X3)))))) _TPTP_proj1)))
% 0.41/0.63  Defined: ap:=(fun (X0:fofType) (X1:fofType)=> (((d_ReplSep X0) (fun (X2:fofType)=> ((ex fofType) (fun (X3:fofType)=> (((eq fofType) X2) ((pair X1) X3)))))) _TPTP_proj1))
% 0.41/0.63  FOF formula (forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) X0)->(((eq fofType) ((ap ((d_Sigma X0) X1)) X2)) (X1 X2)))) of role axiom named beta
% 0.41/0.63  A new axiom: (forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) X0)->(((eq fofType) ((ap ((d_Sigma X0) X1)) X2)) (X1 X2))))
% 0.41/0.63  FOF formula (<kernel.Constant object at 0x2b21f902eea8>, <kernel.DependentProduct object at 0x2b21f902e440>) of role type named typ_pair_p
% 0.41/0.63  Using role type
% 0.41/0.63  Declaring pair_p:(fofType->Prop)
% 0.41/0.63  FOF formula (((eq (fofType->Prop)) pair_p) (fun (X0:fofType)=> (((eq fofType) ((pair ((ap X0) emptyset)) ((ap X0) (ordsucc emptyset)))) X0))) of role definition named def_pair_p
% 0.41/0.63  A new definition: (((eq (fofType->Prop)) pair_p) (fun (X0:fofType)=> (((eq fofType) ((pair ((ap X0) emptyset)) ((ap X0) (ordsucc emptyset)))) X0)))
% 0.41/0.63  Defined: pair_p:=(fun (X0:fofType)=> (((eq fofType) ((pair ((ap X0) emptyset)) ((ap X0) (ordsucc emptyset)))) X0))
% 0.41/0.63  FOF formula (<kernel.Constant object at 0x2b21f902e290>, <kernel.DependentProduct object at 0x2b21f902ecb0>) of role type named typ_d_Pi
% 0.41/0.63  Using role type
% 0.41/0.63  Declaring d_Pi:(fofType->((fofType->fofType)->fofType))
% 0.41/0.63  FOF formula (((eq (fofType->((fofType->fofType)->fofType))) d_Pi) (fun (X0:fofType) (X1:(fofType->fofType))=> ((d_Sep (power ((d_Sigma X0) (fun (X2:fofType)=> (union (X1 X2)))))) (fun (X2:fofType)=> (forall (X3:fofType), (((in X3) X0)->((in ((ap X2) X3)) (X1 X3)))))))) of role definition named def_d_Pi
% 0.41/0.63  A new definition: (((eq (fofType->((fofType->fofType)->fofType))) d_Pi) (fun (X0:fofType) (X1:(fofType->fofType))=> ((d_Sep (power ((d_Sigma X0) (fun (X2:fofType)=> (union (X1 X2)))))) (fun (X2:fofType)=> (forall (X3:fofType), (((in X3) X0)->((in ((ap X2) X3)) (X1 X3))))))))
% 0.41/0.63  Defined: d_Pi:=(fun (X0:fofType) (X1:(fofType->fofType))=> ((d_Sep (power ((d_Sigma X0) (fun (X2:fofType)=> (union (X1 X2)))))) (fun (X2:fofType)=> (forall (X3:fofType), (((in X3) X0)->((in ((ap X2) X3)) (X1 X3)))))))
% 0.41/0.65  FOF formula (forall (X0:fofType) (X1:(fofType->fofType)) (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X0)->((in (X2 X3)) (X1 X3))))->((in ((d_Sigma X0) X2)) ((d_Pi X0) X1)))) of role axiom named lam_Pi
% 0.41/0.65  A new axiom: (forall (X0:fofType) (X1:(fofType->fofType)) (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X0)->((in (X2 X3)) (X1 X3))))->((in ((d_Sigma X0) X2)) ((d_Pi X0) X1))))
% 0.41/0.65  FOF formula (forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType) (X3:fofType), (((in X2) ((d_Pi X0) X1))->(((in X3) X0)->((in ((ap X2) X3)) (X1 X3))))) of role axiom named ap_Pi
% 0.41/0.65  A new axiom: (forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType) (X3:fofType), (((in X2) ((d_Pi X0) X1))->(((in X3) X0)->((in ((ap X2) X3)) (X1 X3)))))
% 0.41/0.65  FOF formula (forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Pi X0) X1))->(forall (X3:fofType), (((in X3) ((d_Pi X0) X1))->((forall (X4:fofType), (((in X4) X0)->(((eq fofType) ((ap X2) X4)) ((ap X3) X4))))->(((eq fofType) X2) X3)))))) of role axiom named k_Pi_ext
% 0.41/0.65  A new axiom: (forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Pi X0) X1))->(forall (X3:fofType), (((in X3) ((d_Pi X0) X1))->((forall (X4:fofType), (((in X4) X0)->(((eq fofType) ((ap X2) X4)) ((ap X3) X4))))->(((eq fofType) X2) X3))))))
% 0.41/0.65  FOF formula (forall (X0:fofType) (X1:(fofType->fofType)) (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X0)->(((eq fofType) (X1 X3)) (X2 X3))))->(((eq fofType) ((d_Sigma X0) X1)) ((d_Sigma X0) X2)))) of role axiom named xi_ext
% 0.41/0.65  A new axiom: (forall (X0:fofType) (X1:(fofType->fofType)) (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X0)->(((eq fofType) (X1 X3)) (X2 X3))))->(((eq fofType) ((d_Sigma X0) X1)) ((d_Sigma X0) X2))))
% 0.41/0.65  FOF formula (forall (X0:Prop) (X1:fofType) (X2:fofType), ((X0->((in X1) X2))->((in (((if X0) X1) emptyset)) (((if X0) X2) (ordsucc emptyset))))) of role axiom named k_If_In_01
% 0.41/0.65  A new axiom: (forall (X0:Prop) (X1:fofType) (X2:fofType), ((X0->((in X1) X2))->((in (((if X0) X1) emptyset)) (((if X0) X2) (ordsucc emptyset)))))
% 0.41/0.65  FOF formula (forall (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType), (X0->(((in X1) (((if X0) X2) X3))->((in X1) X2)))) of role axiom named k_If_In_then_E
% 0.41/0.65  A new axiom: (forall (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType), (X0->(((in X1) (((if X0) X2) X3))->((in X1) X2))))
% 0.41/0.65  FOF formula (<kernel.Constant object at 0x2b21f902e290>, <kernel.DependentProduct object at 0x2b2204032440>) of role type named typ_imp
% 0.41/0.65  Using role type
% 0.41/0.65  Declaring imp:(Prop->(Prop->Prop))
% 0.41/0.65  FOF formula (((eq (Prop->(Prop->Prop))) imp) (fun (X0:Prop) (X1:Prop)=> (X0->X1))) of role definition named def_imp
% 0.41/0.65  A new definition: (((eq (Prop->(Prop->Prop))) imp) (fun (X0:Prop) (X1:Prop)=> (X0->X1)))
% 0.41/0.65  Defined: imp:=(fun (X0:Prop) (X1:Prop)=> (X0->X1))
% 0.41/0.65  FOF formula (<kernel.Constant object at 0x2b2204032440>, <kernel.DependentProduct object at 0x2b22040324d0>) of role type named typ_d_not
% 0.41/0.65  Using role type
% 0.41/0.65  Declaring d_not:(Prop->Prop)
% 0.41/0.65  FOF formula (((eq (Prop->Prop)) d_not) (fun (X0:Prop)=> ((imp X0) False))) of role definition named def_d_not
% 0.41/0.65  A new definition: (((eq (Prop->Prop)) d_not) (fun (X0:Prop)=> ((imp X0) False)))
% 0.41/0.65  Defined: d_not:=(fun (X0:Prop)=> ((imp X0) False))
% 0.41/0.65  FOF formula (<kernel.Constant object at 0x2b22040324d0>, <kernel.DependentProduct object at 0x2b22040327e8>) of role type named typ_wel
% 0.41/0.65  Using role type
% 0.41/0.65  Declaring wel:(Prop->Prop)
% 0.41/0.65  FOF formula (((eq (Prop->Prop)) wel) (fun (X0:Prop)=> (d_not (d_not X0)))) of role definition named def_wel
% 0.41/0.65  A new definition: (((eq (Prop->Prop)) wel) (fun (X0:Prop)=> (d_not (d_not X0))))
% 0.41/0.65  Defined: wel:=(fun (X0:Prop)=> (d_not (d_not X0)))
% 0.41/0.65  FOF formula (forall (X0:Prop), ((wel X0)->X0)) of role axiom named l_et
% 0.41/0.65  A new axiom: (forall (X0:Prop), ((wel X0)->X0))
% 0.41/0.65  FOF formula (<kernel.Constant object at 0x2b2204032128>, <kernel.Sort object at 0x2b2200d05950>) of role type named typ_obvious
% 0.41/0.65  Using role type
% 0.41/0.65  Declaring obvious:Prop
% 0.41/0.65  FOF formula (((eq Prop) obvious) ((imp False) False)) of role definition named def_obvious
% 0.41/0.65  A new definition: (((eq Prop) obvious) ((imp False) False))
% 0.46/0.66  Defined: obvious:=((imp False) False)
% 0.46/0.66  FOF formula (<kernel.Constant object at 0x2b2204032320>, <kernel.DependentProduct object at 0x2b2204032050>) of role type named typ_l_ec
% 0.46/0.66  Using role type
% 0.46/0.66  Declaring l_ec:(Prop->(Prop->Prop))
% 0.46/0.66  FOF formula (((eq (Prop->(Prop->Prop))) l_ec) (fun (X0:Prop) (X1:Prop)=> ((imp X0) (d_not X1)))) of role definition named def_l_ec
% 0.46/0.66  A new definition: (((eq (Prop->(Prop->Prop))) l_ec) (fun (X0:Prop) (X1:Prop)=> ((imp X0) (d_not X1))))
% 0.46/0.66  Defined: l_ec:=(fun (X0:Prop) (X1:Prop)=> ((imp X0) (d_not X1)))
% 0.46/0.66  FOF formula (<kernel.Constant object at 0x2b2204032050>, <kernel.DependentProduct object at 0x2b2204032128>) of role type named typ_d_and
% 0.46/0.66  Using role type
% 0.46/0.66  Declaring d_and:(Prop->(Prop->Prop))
% 0.46/0.66  FOF formula (((eq (Prop->(Prop->Prop))) d_and) (fun (X0:Prop) (X1:Prop)=> (d_not ((l_ec X0) X1)))) of role definition named def_d_and
% 0.46/0.66  A new definition: (((eq (Prop->(Prop->Prop))) d_and) (fun (X0:Prop) (X1:Prop)=> (d_not ((l_ec X0) X1))))
% 0.46/0.66  Defined: d_and:=(fun (X0:Prop) (X1:Prop)=> (d_not ((l_ec X0) X1)))
% 0.46/0.66  FOF formula (<kernel.Constant object at 0x2b2204032128>, <kernel.DependentProduct object at 0x2b2204032320>) of role type named typ_l_or
% 0.46/0.66  Using role type
% 0.46/0.66  Declaring l_or:(Prop->(Prop->Prop))
% 0.46/0.66  FOF formula (((eq (Prop->(Prop->Prop))) l_or) (fun (X0:Prop)=> (imp (d_not X0)))) of role definition named def_l_or
% 0.46/0.66  A new definition: (((eq (Prop->(Prop->Prop))) l_or) (fun (X0:Prop)=> (imp (d_not X0))))
% 0.46/0.66  Defined: l_or:=(fun (X0:Prop)=> (imp (d_not X0)))
% 0.46/0.66  FOF formula (<kernel.Constant object at 0x2b2204032320>, <kernel.DependentProduct object at 0x2b22040326c8>) of role type named typ_orec
% 0.46/0.66  Using role type
% 0.46/0.66  Declaring orec:(Prop->(Prop->Prop))
% 0.46/0.66  FOF formula (((eq (Prop->(Prop->Prop))) orec) (fun (X0:Prop) (X1:Prop)=> ((d_and ((l_or X0) X1)) ((l_ec X0) X1)))) of role definition named def_orec
% 0.46/0.66  A new definition: (((eq (Prop->(Prop->Prop))) orec) (fun (X0:Prop) (X1:Prop)=> ((d_and ((l_or X0) X1)) ((l_ec X0) X1))))
% 0.46/0.66  Defined: orec:=(fun (X0:Prop) (X1:Prop)=> ((d_and ((l_or X0) X1)) ((l_ec X0) X1)))
% 0.46/0.66  FOF formula (<kernel.Constant object at 0x2b22040326c8>, <kernel.DependentProduct object at 0x2b2204032128>) of role type named typ_l_iff
% 0.46/0.66  Using role type
% 0.46/0.66  Declaring l_iff:(Prop->(Prop->Prop))
% 0.46/0.66  FOF formula (((eq (Prop->(Prop->Prop))) l_iff) (fun (X0:Prop) (X1:Prop)=> ((d_and ((imp X0) X1)) ((imp X1) X0)))) of role definition named def_l_iff
% 0.46/0.66  A new definition: (((eq (Prop->(Prop->Prop))) l_iff) (fun (X0:Prop) (X1:Prop)=> ((d_and ((imp X0) X1)) ((imp X1) X0))))
% 0.46/0.66  Defined: l_iff:=(fun (X0:Prop) (X1:Prop)=> ((d_and ((imp X0) X1)) ((imp X1) X0)))
% 0.46/0.66  FOF formula (<kernel.Constant object at 0x2b2204032128>, <kernel.DependentProduct object at 0x2b2204032878>) of role type named typ_all
% 0.46/0.66  Using role type
% 0.46/0.66  Declaring all:(fofType->((fofType->Prop)->Prop))
% 0.46/0.66  FOF formula (((eq (fofType->((fofType->Prop)->Prop))) all) (fun (X0:fofType)=> (all_of (fun (X1:fofType)=> ((in X1) X0))))) of role definition named def_all
% 0.46/0.66  A new definition: (((eq (fofType->((fofType->Prop)->Prop))) all) (fun (X0:fofType)=> (all_of (fun (X1:fofType)=> ((in X1) X0)))))
% 0.46/0.66  Defined: all:=(fun (X0:fofType)=> (all_of (fun (X1:fofType)=> ((in X1) X0))))
% 0.46/0.66  FOF formula (<kernel.Constant object at 0x2b2204032878>, <kernel.DependentProduct object at 0x2b2204032c68>) of role type named typ_non
% 0.46/0.66  Using role type
% 0.46/0.66  Declaring non:(fofType->((fofType->Prop)->(fofType->Prop)))
% 0.46/0.66  FOF formula (((eq (fofType->((fofType->Prop)->(fofType->Prop)))) non) (fun (X0:fofType) (X1:(fofType->Prop)) (X2:fofType)=> (d_not (X1 X2)))) of role definition named def_non
% 0.46/0.66  A new definition: (((eq (fofType->((fofType->Prop)->(fofType->Prop)))) non) (fun (X0:fofType) (X1:(fofType->Prop)) (X2:fofType)=> (d_not (X1 X2))))
% 0.46/0.66  Defined: non:=(fun (X0:fofType) (X1:(fofType->Prop)) (X2:fofType)=> (d_not (X1 X2)))
% 0.46/0.66  FOF formula (<kernel.Constant object at 0x2b2204032c68>, <kernel.DependentProduct object at 0x2b2204032680>) of role type named typ_l_some
% 0.46/0.66  Using role type
% 0.46/0.66  Declaring l_some:(fofType->((fofType->Prop)->Prop))
% 0.46/0.66  FOF formula (((eq (fofType->((fofType->Prop)->Prop))) l_some) (fun (X0:fofType) (X1:(fofType->Prop))=> (d_not ((all_of (fun (X2:fofType)=> ((in X2) X0))) ((non X0) X1))))) of role definition named def_l_some
% 0.46/0.68  A new definition: (((eq (fofType->((fofType->Prop)->Prop))) l_some) (fun (X0:fofType) (X1:(fofType->Prop))=> (d_not ((all_of (fun (X2:fofType)=> ((in X2) X0))) ((non X0) X1)))))
% 0.46/0.68  Defined: l_some:=(fun (X0:fofType) (X1:(fofType->Prop))=> (d_not ((all_of (fun (X2:fofType)=> ((in X2) X0))) ((non X0) X1))))
% 0.46/0.68  FOF formula (<kernel.Constant object at 0x2b2204032680>, <kernel.DependentProduct object at 0x2b2204032cb0>) of role type named typ_or3
% 0.46/0.68  Using role type
% 0.46/0.68  Declaring or3:(Prop->(Prop->(Prop->Prop)))
% 0.46/0.68  FOF formula (((eq (Prop->(Prop->(Prop->Prop)))) or3) (fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((l_or X0) ((l_or X1) X2)))) of role definition named def_or3
% 0.46/0.68  A new definition: (((eq (Prop->(Prop->(Prop->Prop)))) or3) (fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((l_or X0) ((l_or X1) X2))))
% 0.46/0.68  Defined: or3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((l_or X0) ((l_or X1) X2)))
% 0.46/0.68  FOF formula (<kernel.Constant object at 0x2b2204032cb0>, <kernel.DependentProduct object at 0x2b2204032a70>) of role type named typ_and3
% 0.46/0.68  Using role type
% 0.46/0.68  Declaring and3:(Prop->(Prop->(Prop->Prop)))
% 0.46/0.68  FOF formula (((eq (Prop->(Prop->(Prop->Prop)))) and3) (fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((d_and X0) ((d_and X1) X2)))) of role definition named def_and3
% 0.46/0.68  A new definition: (((eq (Prop->(Prop->(Prop->Prop)))) and3) (fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((d_and X0) ((d_and X1) X2))))
% 0.46/0.68  Defined: and3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((d_and X0) ((d_and X1) X2)))
% 0.46/0.68  FOF formula (<kernel.Constant object at 0x2b2204032a70>, <kernel.DependentProduct object at 0x2b2204032cf8>) of role type named typ_ec3
% 0.46/0.68  Using role type
% 0.46/0.68  Declaring ec3:(Prop->(Prop->(Prop->Prop)))
% 0.46/0.68  FOF formula (((eq (Prop->(Prop->(Prop->Prop)))) ec3) (fun (X0:Prop) (X1:Prop) (X2:Prop)=> (((and3 ((l_ec X0) X1)) ((l_ec X1) X2)) ((l_ec X2) X0)))) of role definition named def_ec3
% 0.46/0.68  A new definition: (((eq (Prop->(Prop->(Prop->Prop)))) ec3) (fun (X0:Prop) (X1:Prop) (X2:Prop)=> (((and3 ((l_ec X0) X1)) ((l_ec X1) X2)) ((l_ec X2) X0))))
% 0.46/0.68  Defined: ec3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> (((and3 ((l_ec X0) X1)) ((l_ec X1) X2)) ((l_ec X2) X0)))
% 0.46/0.68  FOF formula (<kernel.Constant object at 0x2b2204032cf8>, <kernel.DependentProduct object at 0x2b2204032d40>) of role type named typ_orec3
% 0.46/0.68  Using role type
% 0.46/0.68  Declaring orec3:(Prop->(Prop->(Prop->Prop)))
% 0.46/0.68  FOF formula (((eq (Prop->(Prop->(Prop->Prop)))) orec3) (fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((d_and (((or3 X0) X1) X2)) (((ec3 X0) X1) X2)))) of role definition named def_orec3
% 0.46/0.68  A new definition: (((eq (Prop->(Prop->(Prop->Prop)))) orec3) (fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((d_and (((or3 X0) X1) X2)) (((ec3 X0) X1) X2))))
% 0.46/0.68  Defined: orec3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((d_and (((or3 X0) X1) X2)) (((ec3 X0) X1) X2)))
% 0.46/0.68  FOF formula (<kernel.Constant object at 0x2b2204032d40>, <kernel.DependentProduct object at 0x2b2204032cb0>) of role type named typ_e_is
% 0.46/0.68  Using role type
% 0.46/0.68  Declaring e_is:(fofType->(fofType->(fofType->Prop)))
% 0.46/0.68  FOF formula (((eq (fofType->(fofType->(fofType->Prop)))) e_is) (fun (X0:fofType) (X:fofType) (Y:fofType)=> (((eq fofType) X) Y))) of role definition named def_e_is
% 0.46/0.68  A new definition: (((eq (fofType->(fofType->(fofType->Prop)))) e_is) (fun (X0:fofType) (X:fofType) (Y:fofType)=> (((eq fofType) X) Y)))
% 0.46/0.68  Defined: e_is:=(fun (X0:fofType) (X:fofType) (Y:fofType)=> (((eq fofType) X) Y))
% 0.46/0.68  FOF formula (forall (X0:fofType), ((all_of (fun (X1:fofType)=> ((in X1) X0))) (fun (X1:fofType)=> (((e_is X0) X1) X1)))) of role axiom named refis
% 0.46/0.68  A new axiom: (forall (X0:fofType), ((all_of (fun (X1:fofType)=> ((in X1) X0))) (fun (X1:fofType)=> (((e_is X0) X1) X1))))
% 0.46/0.68  FOF formula (forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X0))) (fun (X3:fofType)=> ((X1 X2)->((((e_is X0) X2) X3)->(X1 X3)))))))) of role axiom named e_isp
% 0.46/0.68  A new axiom: (forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X0))) (fun (X3:fofType)=> ((X1 X2)->((((e_is X0) X2) X3)->(X1 X3))))))))
% 0.46/0.70  FOF formula (<kernel.Constant object at 0x2b2204032cf8>, <kernel.DependentProduct object at 0x2b22040326c8>) of role type named typ_amone
% 0.46/0.70  Using role type
% 0.46/0.70  Declaring amone:(fofType->((fofType->Prop)->Prop))
% 0.46/0.70  FOF formula (((eq (fofType->((fofType->Prop)->Prop))) amone) (fun (X0:fofType) (X1:(fofType->Prop))=> ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X0))) (fun (X3:fofType)=> ((X1 X2)->((X1 X3)->(((e_is X0) X2) X3))))))))) of role definition named def_amone
% 0.46/0.70  A new definition: (((eq (fofType->((fofType->Prop)->Prop))) amone) (fun (X0:fofType) (X1:(fofType->Prop))=> ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X0))) (fun (X3:fofType)=> ((X1 X2)->((X1 X3)->(((e_is X0) X2) X3)))))))))
% 0.46/0.70  Defined: amone:=(fun (X0:fofType) (X1:(fofType->Prop))=> ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X0))) (fun (X3:fofType)=> ((X1 X2)->((X1 X3)->(((e_is X0) X2) X3))))))))
% 0.46/0.70  FOF formula (<kernel.Constant object at 0x2b22040326c8>, <kernel.DependentProduct object at 0x2b2204032f80>) of role type named typ_one
% 0.46/0.70  Using role type
% 0.46/0.70  Declaring one:(fofType->((fofType->Prop)->Prop))
% 0.46/0.70  FOF formula (((eq (fofType->((fofType->Prop)->Prop))) one) (fun (X0:fofType) (X1:(fofType->Prop))=> ((d_and ((amone X0) X1)) ((l_some X0) X1)))) of role definition named def_one
% 0.46/0.70  A new definition: (((eq (fofType->((fofType->Prop)->Prop))) one) (fun (X0:fofType) (X1:(fofType->Prop))=> ((d_and ((amone X0) X1)) ((l_some X0) X1))))
% 0.46/0.70  Defined: one:=(fun (X0:fofType) (X1:(fofType->Prop))=> ((d_and ((amone X0) X1)) ((l_some X0) X1)))
% 0.46/0.70  FOF formula (<kernel.Constant object at 0x2b2204032f80>, <kernel.DependentProduct object at 0x2b2204032d88>) of role type named typ_ind
% 0.46/0.70  Using role type
% 0.46/0.70  Declaring ind:(fofType->((fofType->Prop)->fofType))
% 0.46/0.70  FOF formula (((eq (fofType->((fofType->Prop)->fofType))) ind) (fun (X0:fofType) (X1:(fofType->Prop))=> (eps (fun (X2:fofType)=> ((and ((in X2) X0)) (X1 X2)))))) of role definition named def_ind
% 0.46/0.70  A new definition: (((eq (fofType->((fofType->Prop)->fofType))) ind) (fun (X0:fofType) (X1:(fofType->Prop))=> (eps (fun (X2:fofType)=> ((and ((in X2) X0)) (X1 X2))))))
% 0.46/0.70  Defined: ind:=(fun (X0:fofType) (X1:(fofType->Prop))=> (eps (fun (X2:fofType)=> ((and ((in X2) X0)) (X1 X2)))))
% 0.46/0.70  FOF formula (forall (X0:fofType) (X1:(fofType->Prop)), (((one X0) X1)->((is_of ((ind X0) X1)) (fun (X2:fofType)=> ((in X2) X0))))) of role axiom named ind_p
% 0.46/0.70  A new axiom: (forall (X0:fofType) (X1:(fofType->Prop)), (((one X0) X1)->((is_of ((ind X0) X1)) (fun (X2:fofType)=> ((in X2) X0)))))
% 0.46/0.70  FOF formula (forall (X0:fofType) (X1:(fofType->Prop)), (((one X0) X1)->(X1 ((ind X0) X1)))) of role axiom named oneax
% 0.46/0.70  A new axiom: (forall (X0:fofType) (X1:(fofType->Prop)), (((one X0) X1)->(X1 ((ind X0) X1))))
% 0.46/0.70  FOF formula (<kernel.Constant object at 0x2b2204032cf8>, <kernel.DependentProduct object at 0x2b2204032fc8>) of role type named typ_injective
% 0.46/0.70  Using role type
% 0.46/0.70  Declaring injective:(fofType->(fofType->(fofType->Prop)))
% 0.46/0.70  FOF formula (((eq (fofType->(fofType->(fofType->Prop)))) injective) (fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((all X0) (fun (X4:fofType)=> ((imp (((e_is X1) ((ap X2) X3)) ((ap X2) X4))) (((e_is X0) X3) X4)))))))) of role definition named def_injective
% 0.46/0.70  A new definition: (((eq (fofType->(fofType->(fofType->Prop)))) injective) (fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((all X0) (fun (X4:fofType)=> ((imp (((e_is X1) ((ap X2) X3)) ((ap X2) X4))) (((e_is X0) X3) X4))))))))
% 0.46/0.70  Defined: injective:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((all X0) (fun (X4:fofType)=> ((imp (((e_is X1) ((ap X2) X3)) ((ap X2) X4))) (((e_is X0) X3) X4)))))))
% 0.46/0.70  FOF formula (<kernel.Constant object at 0x2b2204032d88>, <kernel.DependentProduct object at 0x2b2204032560>) of role type named typ_image
% 0.46/0.70  Using role type
% 0.46/0.70  Declaring image:(fofType->(fofType->(fofType->(fofType->Prop))))
% 0.46/0.70  FOF formula (((eq (fofType->(fofType->(fofType->(fofType->Prop))))) image) (fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((l_some X0) (fun (X4:fofType)=> (((e_is X1) X3) ((ap X2) X4)))))) of role definition named def_image
% 0.46/0.71  A new definition: (((eq (fofType->(fofType->(fofType->(fofType->Prop))))) image) (fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((l_some X0) (fun (X4:fofType)=> (((e_is X1) X3) ((ap X2) X4))))))
% 0.46/0.71  Defined: image:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((l_some X0) (fun (X4:fofType)=> (((e_is X1) X3) ((ap X2) X4)))))
% 0.46/0.71  FOF formula (<kernel.Constant object at 0x2b2204032cf8>, <kernel.DependentProduct object at 0x2b2204038050>) of role type named typ_tofs
% 0.46/0.71  Using role type
% 0.46/0.71  Declaring tofs:(fofType->(fofType->(fofType->(fofType->fofType))))
% 0.46/0.71  FOF formula (((eq (fofType->(fofType->(fofType->(fofType->fofType))))) tofs) (fun (X0:fofType) (X1:fofType)=> ap)) of role definition named def_tofs
% 0.46/0.71  A new definition: (((eq (fofType->(fofType->(fofType->(fofType->fofType))))) tofs) (fun (X0:fofType) (X1:fofType)=> ap))
% 0.46/0.71  Defined: tofs:=(fun (X0:fofType) (X1:fofType)=> ap)
% 0.46/0.71  FOF formula (<kernel.Constant object at 0x2b2204032d88>, <kernel.DependentProduct object at 0x2b2204038290>) of role type named typ_soft
% 0.46/0.71  Using role type
% 0.46/0.71  Declaring soft:(fofType->(fofType->(fofType->(fofType->fofType))))
% 0.46/0.71  FOF formula (((eq (fofType->(fofType->(fofType->(fofType->fofType))))) soft) (fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((ind X0) (fun (X4:fofType)=> (((e_is X1) X3) ((ap X2) X4)))))) of role definition named def_soft
% 0.46/0.71  A new definition: (((eq (fofType->(fofType->(fofType->(fofType->fofType))))) soft) (fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((ind X0) (fun (X4:fofType)=> (((e_is X1) X3) ((ap X2) X4))))))
% 0.46/0.71  Defined: soft:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((ind X0) (fun (X4:fofType)=> (((e_is X1) X3) ((ap X2) X4)))))
% 0.46/0.71  FOF formula (<kernel.Constant object at 0x2b2204032d88>, <kernel.DependentProduct object at 0x2b2204038290>) of role type named typ_inverse
% 0.46/0.71  Using role type
% 0.46/0.71  Declaring inverse:(fofType->(fofType->(fofType->fofType)))
% 0.46/0.71  FOF formula (((eq (fofType->(fofType->(fofType->fofType)))) inverse) (fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X1) (fun (X3:fofType)=> (((if ((((image X0) X1) X2) X3)) ((((soft X0) X1) X2) X3)) emptyset))))) of role definition named def_inverse
% 0.46/0.71  A new definition: (((eq (fofType->(fofType->(fofType->fofType)))) inverse) (fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X1) (fun (X3:fofType)=> (((if ((((image X0) X1) X2) X3)) ((((soft X0) X1) X2) X3)) emptyset)))))
% 0.46/0.71  Defined: inverse:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X1) (fun (X3:fofType)=> (((if ((((image X0) X1) X2) X3)) ((((soft X0) X1) X2) X3)) emptyset))))
% 0.46/0.71  FOF formula (<kernel.Constant object at 0x2b2204032d88>, <kernel.DependentProduct object at 0x2b22040387e8>) of role type named typ_surjective
% 0.46/0.71  Using role type
% 0.46/0.71  Declaring surjective:(fofType->(fofType->(fofType->Prop)))
% 0.46/0.71  FOF formula (((eq (fofType->(fofType->(fofType->Prop)))) surjective) (fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X1) (((image X0) X1) X2)))) of role definition named def_surjective
% 0.46/0.71  A new definition: (((eq (fofType->(fofType->(fofType->Prop)))) surjective) (fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X1) (((image X0) X1) X2))))
% 0.46/0.71  Defined: surjective:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X1) (((image X0) X1) X2)))
% 0.46/0.71  FOF formula (<kernel.Constant object at 0x2b22040387e8>, <kernel.DependentProduct object at 0x2b22040383b0>) of role type named typ_bijective
% 0.46/0.71  Using role type
% 0.46/0.71  Declaring bijective:(fofType->(fofType->(fofType->Prop)))
% 0.46/0.71  FOF formula (((eq (fofType->(fofType->(fofType->Prop)))) bijective) (fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_and (((injective X0) X1) X2)) (((surjective X0) X1) X2)))) of role definition named def_bijective
% 0.46/0.71  A new definition: (((eq (fofType->(fofType->(fofType->Prop)))) bijective) (fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_and (((injective X0) X1) X2)) (((surjective X0) X1) X2))))
% 0.46/0.71  Defined: bijective:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_and (((injective X0) X1) X2)) (((surjective X0) X1) X2)))
% 0.46/0.73  FOF formula (<kernel.Constant object at 0x2b22040383b0>, <kernel.DependentProduct object at 0x2b22040383f8>) of role type named typ_invf
% 0.46/0.73  Using role type
% 0.46/0.73  Declaring invf:(fofType->(fofType->(fofType->fofType)))
% 0.46/0.73  FOF formula (((eq (fofType->(fofType->(fofType->fofType)))) invf) (fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X1) (((soft X0) X1) X2)))) of role definition named def_invf
% 0.46/0.73  A new definition: (((eq (fofType->(fofType->(fofType->fofType)))) invf) (fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X1) (((soft X0) X1) X2))))
% 0.46/0.73  Defined: invf:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X1) (((soft X0) X1) X2)))
% 0.46/0.73  FOF formula (<kernel.Constant object at 0x2b22040383f8>, <kernel.DependentProduct object at 0x2b2204038128>) of role type named typ_inj_h
% 0.46/0.73  Using role type
% 0.46/0.73  Declaring inj_h:(fofType->(fofType->(fofType->(fofType->(fofType->fofType)))))
% 0.46/0.73  FOF formula (((eq (fofType->(fofType->(fofType->(fofType->(fofType->fofType)))))) inj_h) (fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_Sigma X0) (fun (X5:fofType)=> ((ap X4) ((ap X3) X5)))))) of role definition named def_inj_h
% 0.46/0.73  A new definition: (((eq (fofType->(fofType->(fofType->(fofType->(fofType->fofType)))))) inj_h) (fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_Sigma X0) (fun (X5:fofType)=> ((ap X4) ((ap X3) X5))))))
% 0.46/0.73  Defined: inj_h:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_Sigma X0) (fun (X5:fofType)=> ((ap X4) ((ap X3) X5)))))
% 0.46/0.73  FOF formula (forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Pi X0) (fun (X3:fofType)=> X1))))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) ((d_Pi X0) (fun (X4:fofType)=> X1))))) (fun (X3:fofType)=> (((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> (((e_is X1) ((ap X2) X4)) ((ap X3) X4))))->(((e_is ((d_Pi X0) (fun (X4:fofType)=> X1))) X2) X3))))))) of role axiom named e_fisi
% 0.46/0.73  A new axiom: (forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Pi X0) (fun (X3:fofType)=> X1))))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) ((d_Pi X0) (fun (X4:fofType)=> X1))))) (fun (X3:fofType)=> (((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> (((e_is X1) ((ap X2) X4)) ((ap X3) X4))))->(((e_is ((d_Pi X0) (fun (X4:fofType)=> X1))) X2) X3)))))))
% 0.46/0.73  FOF formula (<kernel.Constant object at 0x2b2204038998>, <kernel.DependentProduct object at 0x2b22040381b8>) of role type named typ_e_in
% 0.46/0.73  Using role type
% 0.46/0.73  Declaring e_in:(fofType->((fofType->Prop)->(fofType->fofType)))
% 0.46/0.73  FOF formula (((eq (fofType->((fofType->Prop)->(fofType->fofType)))) e_in) (fun (X0:fofType) (X1:(fofType->Prop)) (X2:fofType)=> X2)) of role definition named def_e_in
% 0.46/0.73  A new definition: (((eq (fofType->((fofType->Prop)->(fofType->fofType)))) e_in) (fun (X0:fofType) (X1:(fofType->Prop)) (X2:fofType)=> X2))
% 0.46/0.73  Defined: e_in:=(fun (X0:fofType) (X1:(fofType->Prop)) (X2:fofType)=> X2)
% 0.46/0.73  FOF formula (forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Sep X0) X1)))) (fun (X2:fofType)=> ((is_of (((e_in X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X0)))))) of role axiom named e_in_p
% 0.46/0.73  A new axiom: (forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Sep X0) X1)))) (fun (X2:fofType)=> ((is_of (((e_in X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X0))))))
% 0.46/0.73  FOF formula (forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Sep X0) X1)))) (fun (X2:fofType)=> (X1 (((e_in X0) X1) X2))))) of role axiom named e_inp
% 0.46/0.73  A new axiom: (forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Sep X0) X1)))) (fun (X2:fofType)=> (X1 (((e_in X0) X1) X2)))))
% 0.46/0.73  FOF formula (forall (X0:fofType) (X1:(fofType->Prop)), (((injective ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1)))) of role axiom named otax1
% 0.46/0.73  A new axiom: (forall (X0:fofType) (X1:(fofType->Prop)), (((injective ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1))))
% 0.46/0.73  FOF formula (forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((X1 X2)->((((image ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1))) X2))))) of role axiom named otax2
% 0.54/0.75  A new axiom: (forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((X1 X2)->((((image ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1))) X2)))))
% 0.54/0.75  FOF formula (<kernel.Constant object at 0x2b2204038170>, <kernel.DependentProduct object at 0x2b2204038cf8>) of role type named typ_out
% 0.54/0.75  Using role type
% 0.54/0.75  Declaring out:(fofType->((fofType->Prop)->(fofType->fofType)))
% 0.54/0.75  FOF formula (((eq (fofType->((fofType->Prop)->(fofType->fofType)))) out) (fun (X0:fofType) (X1:(fofType->Prop))=> (((soft ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1))))) of role definition named def_out
% 0.54/0.75  A new definition: (((eq (fofType->((fofType->Prop)->(fofType->fofType)))) out) (fun (X0:fofType) (X1:(fofType->Prop))=> (((soft ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1)))))
% 0.54/0.75  Defined: out:=(fun (X0:fofType) (X1:(fofType->Prop))=> (((soft ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1))))
% 0.54/0.75  FOF formula (<kernel.Constant object at 0x2b2204038cf8>, <kernel.DependentProduct object at 0x2b2204038638>) of role type named typ_d_pair
% 0.54/0.75  Using role type
% 0.54/0.75  Declaring d_pair:(fofType->(fofType->(fofType->(fofType->fofType))))
% 0.54/0.75  FOF formula (((eq (fofType->(fofType->(fofType->(fofType->fofType))))) d_pair) (fun (X0:fofType) (X1:fofType)=> pair)) of role definition named def_d_pair
% 0.54/0.75  A new definition: (((eq (fofType->(fofType->(fofType->(fofType->fofType))))) d_pair) (fun (X0:fofType) (X1:fofType)=> pair))
% 0.54/0.75  Defined: d_pair:=(fun (X0:fofType) (X1:fofType)=> pair)
% 0.54/0.75  FOF formula (forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> ((is_of ((((d_pair X0) X1) X2) X3)) (fun (X4:fofType)=> ((in X4) ((setprod X0) X1))))))))) of role axiom named e_pair_p
% 0.54/0.75  A new axiom: (forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> ((is_of ((((d_pair X0) X1) X2) X3)) (fun (X4:fofType)=> ((in X4) ((setprod X0) X1)))))))))
% 0.54/0.75  FOF formula (<kernel.Constant object at 0x2b22040389e0>, <kernel.DependentProduct object at 0x2b2204038b48>) of role type named typ_first
% 0.54/0.75  Using role type
% 0.54/0.75  Declaring first:(fofType->(fofType->(fofType->fofType)))
% 0.54/0.75  FOF formula (((eq (fofType->(fofType->(fofType->fofType)))) first) (fun (X0:fofType) (X1:fofType)=> proj0)) of role definition named def_first
% 0.54/0.75  A new definition: (((eq (fofType->(fofType->(fofType->fofType)))) first) (fun (X0:fofType) (X1:fofType)=> proj0))
% 0.54/0.75  Defined: first:=(fun (X0:fofType) (X1:fofType)=> proj0)
% 0.54/0.75  FOF formula (forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> ((is_of (((first X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X0)))))) of role axiom named first_p
% 0.54/0.75  A new axiom: (forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> ((is_of (((first X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X0))))))
% 0.54/0.75  FOF formula (<kernel.Constant object at 0x2b22040382d8>, <kernel.DependentProduct object at 0x2b2204038a28>) of role type named typ_second
% 0.54/0.75  Using role type
% 0.54/0.75  Declaring second:(fofType->(fofType->(fofType->fofType)))
% 0.54/0.75  FOF formula (((eq (fofType->(fofType->(fofType->fofType)))) second) (fun (X0:fofType) (X1:fofType)=> _TPTP_proj1)) of role definition named def_second
% 0.54/0.75  A new definition: (((eq (fofType->(fofType->(fofType->fofType)))) second) (fun (X0:fofType) (X1:fofType)=> _TPTP_proj1))
% 0.54/0.75  Defined: second:=(fun (X0:fofType) (X1:fofType)=> _TPTP_proj1)
% 0.54/0.75  FOF formula (forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> ((is_of (((second X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X1)))))) of role axiom named second_p
% 0.54/0.75  A new axiom: (forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> ((is_of (((second X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X1))))))
% 0.54/0.77  FOF formula (forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> (((e_is ((setprod X0) X1)) ((((d_pair X0) X1) (((first X0) X1) X2)) (((second X0) X1) X2))) X2)))) of role axiom named pairis1
% 0.54/0.77  A new axiom: (forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> (((e_is ((setprod X0) X1)) ((((d_pair X0) X1) (((first X0) X1) X2)) (((second X0) X1) X2))) X2))))
% 0.54/0.77  FOF formula (forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> (((e_is X0) (((first X0) X1) ((((d_pair X0) X1) X2) X3))) X2)))))) of role axiom named firstis1
% 0.54/0.77  A new axiom: (forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> (((e_is X0) (((first X0) X1) ((((d_pair X0) X1) X2) X3))) X2))))))
% 0.54/0.77  FOF formula (forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> (((e_is X1) (((second X0) X1) ((((d_pair X0) X1) X2) X3))) X3)))))) of role axiom named secondis1
% 0.54/0.77  A new axiom: (forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> (((e_is X1) (((second X0) X1) ((((d_pair X0) X1) X2) X3))) X3))))))
% 0.54/0.77  FOF formula (<kernel.Constant object at 0x2b22040387a0>, <kernel.DependentProduct object at 0x2b2204038fc8>) of role type named typ_prop1
% 0.54/0.77  Using role type
% 0.54/0.77  Declaring prop1:(Prop->(fofType->(fofType->(fofType->(fofType->Prop)))))
% 0.54/0.77  FOF formula (((eq (Prop->(fofType->(fofType->(fofType->(fofType->Prop)))))) prop1) (fun (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_and ((imp X0) (((e_is X1) X4) X2))) ((imp (d_not X0)) (((e_is X1) X4) X3))))) of role definition named def_prop1
% 0.54/0.77  A new definition: (((eq (Prop->(fofType->(fofType->(fofType->(fofType->Prop)))))) prop1) (fun (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_and ((imp X0) (((e_is X1) X4) X2))) ((imp (d_not X0)) (((e_is X1) X4) X3)))))
% 0.54/0.77  Defined: prop1:=(fun (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_and ((imp X0) (((e_is X1) X4) X2))) ((imp (d_not X0)) (((e_is X1) X4) X3))))
% 0.54/0.77  FOF formula (<kernel.Constant object at 0x2b2204038fc8>, <kernel.DependentProduct object at 0x2b22040387a0>) of role type named typ_ite
% 0.54/0.77  Using role type
% 0.54/0.77  Declaring ite:(Prop->(fofType->(fofType->(fofType->fofType))))
% 0.54/0.77  FOF formula (((eq (Prop->(fofType->(fofType->(fofType->fofType))))) ite) (fun (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType)=> ((ind X1) ((((prop1 X0) X1) X2) X3)))) of role definition named def_ite
% 0.54/0.77  A new definition: (((eq (Prop->(fofType->(fofType->(fofType->fofType))))) ite) (fun (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType)=> ((ind X1) ((((prop1 X0) X1) X2) X3))))
% 0.54/0.77  Defined: ite:=(fun (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType)=> ((ind X1) ((((prop1 X0) X1) X2) X3)))
% 0.54/0.77  FOF formula (<kernel.Constant object at 0x2b22040387a0>, <kernel.DependentProduct object at 0x2b2204038dd0>) of role type named typ_wissel_wa
% 0.54/0.77  Using role type
% 0.54/0.77  Declaring wissel_wa:(fofType->(fofType->(fofType->(fofType->fofType))))
% 0.54/0.77  FOF formula (((eq (fofType->(fofType->(fofType->(fofType->fofType))))) wissel_wa) (fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((((ite (((e_is X0) X3) X1)) X0) X2) X3))) of role definition named def_wissel_wa
% 0.54/0.77  A new definition: (((eq (fofType->(fofType->(fofType->(fofType->fofType))))) wissel_wa) (fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((((ite (((e_is X0) X3) X1)) X0) X2) X3)))
% 0.54/0.77  Defined: wissel_wa:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((((ite (((e_is X0) X3) X1)) X0) X2) X3))
% 0.54/0.77  FOF formula (<kernel.Constant object at 0x2b2204038dd0>, <kernel.DependentProduct object at 0x2b22040385a8>) of role type named typ_wissel_wb
% 0.58/0.78  Using role type
% 0.58/0.78  Declaring wissel_wb:(fofType->(fofType->(fofType->(fofType->fofType))))
% 0.58/0.78  FOF formula (((eq (fofType->(fofType->(fofType->(fofType->fofType))))) wissel_wb) (fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((((ite (((e_is X0) X3) X2)) X0) X1) ((((wissel_wa X0) X1) X2) X3)))) of role definition named def_wissel_wb
% 0.58/0.78  A new definition: (((eq (fofType->(fofType->(fofType->(fofType->fofType))))) wissel_wb) (fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((((ite (((e_is X0) X3) X2)) X0) X1) ((((wissel_wa X0) X1) X2) X3))))
% 0.58/0.78  Defined: wissel_wb:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((((ite (((e_is X0) X3) X2)) X0) X1) ((((wissel_wa X0) X1) X2) X3)))
% 0.58/0.78  FOF formula (<kernel.Constant object at 0x2b22040385a8>, <kernel.DependentProduct object at 0x2b2204038f38>) of role type named typ_wissel
% 0.58/0.78  Using role type
% 0.58/0.78  Declaring wissel:(fofType->(fofType->(fofType->fofType)))
% 0.58/0.78  FOF formula (((eq (fofType->(fofType->(fofType->fofType)))) wissel) (fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X0) (((wissel_wb X0) X1) X2)))) of role definition named def_wissel
% 0.58/0.78  A new definition: (((eq (fofType->(fofType->(fofType->fofType)))) wissel) (fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X0) (((wissel_wb X0) X1) X2))))
% 0.58/0.78  Defined: wissel:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X0) (((wissel_wb X0) X1) X2)))
% 0.58/0.78  FOF formula (<kernel.Constant object at 0x2b2204038f38>, <kernel.DependentProduct object at 0x2b22040383b0>) of role type named typ_changef
% 0.58/0.78  Using role type
% 0.58/0.78  Declaring changef:(fofType->(fofType->(fofType->(fofType->(fofType->fofType)))))
% 0.58/0.78  FOF formula (((eq (fofType->(fofType->(fofType->(fofType->(fofType->fofType)))))) changef) (fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_Sigma X0) (fun (X5:fofType)=> ((ap X2) ((ap (((wissel X0) X3) X4)) X5)))))) of role definition named def_changef
% 0.58/0.78  A new definition: (((eq (fofType->(fofType->(fofType->(fofType->(fofType->fofType)))))) changef) (fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_Sigma X0) (fun (X5:fofType)=> ((ap X2) ((ap (((wissel X0) X3) X4)) X5))))))
% 0.58/0.78  Defined: changef:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_Sigma X0) (fun (X5:fofType)=> ((ap X2) ((ap (((wissel X0) X3) X4)) X5)))))
% 0.58/0.78  FOF formula (<kernel.Constant object at 0x2b2204038e60>, <kernel.DependentProduct object at 0x2b22040387a0>) of role type named typ_r_ec
% 0.58/0.78  Using role type
% 0.58/0.78  Declaring r_ec:(Prop->(Prop->Prop))
% 0.58/0.78  FOF formula (((eq (Prop->(Prop->Prop))) r_ec) (fun (X0:Prop) (X1:Prop)=> (X0->(d_not X1)))) of role definition named def_r_ec
% 0.58/0.78  A new definition: (((eq (Prop->(Prop->Prop))) r_ec) (fun (X0:Prop) (X1:Prop)=> (X0->(d_not X1))))
% 0.58/0.78  Defined: r_ec:=(fun (X0:Prop) (X1:Prop)=> (X0->(d_not X1)))
% 0.58/0.78  FOF formula (<kernel.Constant object at 0x2b22040387a0>, <kernel.DependentProduct object at 0x2b2204038fc8>) of role type named typ_esti
% 0.58/0.78  Using role type
% 0.58/0.78  Declaring esti:(fofType->(fofType->(fofType->Prop)))
% 0.58/0.78  FOF formula (((eq (fofType->(fofType->(fofType->Prop)))) esti) (fun (X0:fofType)=> in)) of role definition named def_esti
% 0.58/0.78  A new definition: (((eq (fofType->(fofType->(fofType->Prop)))) esti) (fun (X0:fofType)=> in))
% 0.58/0.78  Defined: esti:=(fun (X0:fofType)=> in)
% 0.58/0.78  FOF formula (forall (X0:fofType) (X1:(fofType->Prop)), ((is_of ((d_Sep X0) X1)) (fun (X2:fofType)=> ((in X2) (power X0))))) of role axiom named setof_p
% 0.58/0.78  A new axiom: (forall (X0:fofType) (X1:(fofType->Prop)), ((is_of ((d_Sep X0) X1)) (fun (X2:fofType)=> ((in X2) (power X0)))))
% 0.58/0.78  FOF formula (forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((X1 X2)->(((esti X0) X2) ((d_Sep X0) X1)))))) of role axiom named estii
% 0.58/0.78  A new axiom: (forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((X1 X2)->(((esti X0) X2) ((d_Sep X0) X1))))))
% 0.58/0.78  FOF formula (forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((((esti X0) X2) ((d_Sep X0) X1))->(X1 X2))))) of role axiom named estie
% 0.58/0.80  A new axiom: (forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((((esti X0) X2) ((d_Sep X0) X1))->(X1 X2)))))
% 0.58/0.80  FOF formula (<kernel.Constant object at 0x2b2204038fc8>, <kernel.DependentProduct object at 0x2b2204038ea8>) of role type named typ_empty
% 0.58/0.80  Using role type
% 0.58/0.80  Declaring empty:(fofType->(fofType->Prop))
% 0.58/0.80  FOF formula (((eq (fofType->(fofType->Prop))) empty) (fun (X0:fofType) (X1:fofType)=> ((all_of (fun (X2:fofType)=> ((in X2) X0))) ((non X0) (fun (X2:fofType)=> (((esti X0) X2) X1)))))) of role definition named def_empty
% 0.58/0.80  A new definition: (((eq (fofType->(fofType->Prop))) empty) (fun (X0:fofType) (X1:fofType)=> ((all_of (fun (X2:fofType)=> ((in X2) X0))) ((non X0) (fun (X2:fofType)=> (((esti X0) X2) X1))))))
% 0.58/0.80  Defined: empty:=(fun (X0:fofType) (X1:fofType)=> ((all_of (fun (X2:fofType)=> ((in X2) X0))) ((non X0) (fun (X2:fofType)=> (((esti X0) X2) X1)))))
% 0.58/0.80  FOF formula (<kernel.Constant object at 0x2b22040388c0>, <kernel.DependentProduct object at 0x2b220403e050>) of role type named typ_nonempty
% 0.58/0.80  Using role type
% 0.58/0.80  Declaring nonempty:(fofType->(fofType->Prop))
% 0.58/0.80  FOF formula (((eq (fofType->(fofType->Prop))) nonempty) (fun (X0:fofType) (X1:fofType)=> ((l_some X0) (fun (X2:fofType)=> (((esti X0) X2) X1))))) of role definition named def_nonempty
% 0.58/0.80  A new definition: (((eq (fofType->(fofType->Prop))) nonempty) (fun (X0:fofType) (X1:fofType)=> ((l_some X0) (fun (X2:fofType)=> (((esti X0) X2) X1)))))
% 0.58/0.80  Defined: nonempty:=(fun (X0:fofType) (X1:fofType)=> ((l_some X0) (fun (X2:fofType)=> (((esti X0) X2) X1))))
% 0.58/0.80  FOF formula (<kernel.Constant object at 0x2b2204038f80>, <kernel.DependentProduct object at 0x2b220403e248>) of role type named typ_incl
% 0.58/0.80  Using role type
% 0.58/0.80  Declaring incl:(fofType->(fofType->(fofType->Prop)))
% 0.58/0.80  FOF formula (((eq (fofType->(fofType->(fofType->Prop)))) incl) (fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((imp (((esti X0) X3) X1)) (((esti X0) X3) X2)))))) of role definition named def_incl
% 0.58/0.80  A new definition: (((eq (fofType->(fofType->(fofType->Prop)))) incl) (fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((imp (((esti X0) X3) X1)) (((esti X0) X3) X2))))))
% 0.58/0.80  Defined: incl:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((imp (((esti X0) X3) X1)) (((esti X0) X3) X2)))))
% 0.58/0.80  FOF formula (<kernel.Constant object at 0x2b2204038f80>, <kernel.DependentProduct object at 0x2b220403e1b8>) of role type named typ_st_disj
% 0.58/0.80  Using role type
% 0.58/0.80  Declaring st_disj:(fofType->(fofType->(fofType->Prop)))
% 0.58/0.80  FOF formula (((eq (fofType->(fofType->(fofType->Prop)))) st_disj) (fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((l_ec (((esti X0) X3) X1)) (((esti X0) X3) X2)))))) of role definition named def_st_disj
% 0.58/0.80  A new definition: (((eq (fofType->(fofType->(fofType->Prop)))) st_disj) (fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((l_ec (((esti X0) X3) X1)) (((esti X0) X3) X2))))))
% 0.58/0.80  Defined: st_disj:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((l_ec (((esti X0) X3) X1)) (((esti X0) X3) X2)))))
% 0.58/0.80  FOF formula (forall (X0:fofType), ((all_of (fun (X1:fofType)=> ((in X1) (power X0)))) (fun (X1:fofType)=> ((all_of (fun (X2:fofType)=> ((in X2) (power X0)))) (fun (X2:fofType)=> ((((incl X0) X1) X2)->((((incl X0) X2) X1)->(((e_is (power X0)) X1) X2)))))))) of role axiom named isseti
% 0.58/0.80  A new axiom: (forall (X0:fofType), ((all_of (fun (X1:fofType)=> ((in X1) (power X0)))) (fun (X1:fofType)=> ((all_of (fun (X2:fofType)=> ((in X2) (power X0)))) (fun (X2:fofType)=> ((((incl X0) X1) X2)->((((incl X0) X2) X1)->(((e_is (power X0)) X1) X2))))))))
% 0.58/0.80  FOF formula (<kernel.Constant object at 0x2b2204038f80>, <kernel.DependentProduct object at 0x2b220403e5f0>) of role type named typ_nissetprop
% 0.58/0.80  Using role type
% 0.58/0.80  Declaring nissetprop:(fofType->(fofType->(fofType->(fofType->Prop))))
% 0.58/0.80  FOF formula (((eq (fofType->(fofType->(fofType->(fofType->Prop))))) nissetprop) (fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((d_and (((esti X0) X3) X1)) (d_not (((esti X0) X3) X2))))) of role definition named def_nissetprop
% 0.58/0.81  A new definition: (((eq (fofType->(fofType->(fofType->(fofType->Prop))))) nissetprop) (fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((d_and (((esti X0) X3) X1)) (d_not (((esti X0) X3) X2)))))
% 0.58/0.81  Defined: nissetprop:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((d_and (((esti X0) X3) X1)) (d_not (((esti X0) X3) X2))))
% 0.58/0.81  FOF formula (<kernel.Constant object at 0x2b220403e5f0>, <kernel.DependentProduct object at 0x2b220403e1b8>) of role type named typ_unmore
% 0.58/0.81  Using role type
% 0.58/0.81  Declaring unmore:(fofType->(fofType->(fofType->fofType)))
% 0.58/0.81  FOF formula (((eq (fofType->(fofType->(fofType->fofType)))) unmore) (fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sep X0) (fun (X3:fofType)=> ((l_some X1) (fun (X4:fofType)=> (((esti X0) X3) ((ap X2) X4)))))))) of role definition named def_unmore
% 0.58/0.81  A new definition: (((eq (fofType->(fofType->(fofType->fofType)))) unmore) (fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sep X0) (fun (X3:fofType)=> ((l_some X1) (fun (X4:fofType)=> (((esti X0) X3) ((ap X2) X4))))))))
% 0.58/0.81  Defined: unmore:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sep X0) (fun (X3:fofType)=> ((l_some X1) (fun (X4:fofType)=> (((esti X0) X3) ((ap X2) X4)))))))
% 0.58/0.81  FOF formula (<kernel.Constant object at 0x2b220403e1b8>, <kernel.DependentProduct object at 0x2b220403e7e8>) of role type named typ_ecelt
% 0.58/0.81  Using role type
% 0.58/0.81  Declaring ecelt:(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 0.58/0.81  FOF formula (((eq (fofType->((fofType->(fofType->Prop))->(fofType->fofType)))) ecelt) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> ((d_Sep X0) (X1 X2)))) of role definition named def_ecelt
% 0.58/0.81  A new definition: (((eq (fofType->((fofType->(fofType->Prop))->(fofType->fofType)))) ecelt) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> ((d_Sep X0) (X1 X2))))
% 0.58/0.81  Defined: ecelt:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> ((d_Sep X0) (X1 X2)))
% 0.58/0.81  FOF formula (<kernel.Constant object at 0x2b220403e7e8>, <kernel.DependentProduct object at 0x2b220403e7a0>) of role type named typ_ecp
% 0.58/0.81  Using role type
% 0.58/0.81  Declaring ecp:(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))
% 0.58/0.81  FOF formula (((eq (fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))) ecp) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> (((e_is (power X0)) X2) (((ecelt X0) X1) X3)))) of role definition named def_ecp
% 0.58/0.81  A new definition: (((eq (fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))) ecp) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> (((e_is (power X0)) X2) (((ecelt X0) X1) X3))))
% 0.58/0.81  Defined: ecp:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> (((e_is (power X0)) X2) (((ecelt X0) X1) X3)))
% 0.58/0.81  FOF formula (<kernel.Constant object at 0x2b220403e7a0>, <kernel.DependentProduct object at 0x2b220403eb00>) of role type named typ_anec
% 0.58/0.81  Using role type
% 0.58/0.81  Declaring anec:(fofType->((fofType->(fofType->Prop))->(fofType->Prop)))
% 0.58/0.81  FOF formula (((eq (fofType->((fofType->(fofType->Prop))->(fofType->Prop)))) anec) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> ((l_some X0) (((ecp X0) X1) X2)))) of role definition named def_anec
% 0.58/0.81  A new definition: (((eq (fofType->((fofType->(fofType->Prop))->(fofType->Prop)))) anec) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> ((l_some X0) (((ecp X0) X1) X2))))
% 0.58/0.81  Defined: anec:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> ((l_some X0) (((ecp X0) X1) X2)))
% 0.58/0.81  FOF formula (<kernel.Constant object at 0x2b220403eb00>, <kernel.DependentProduct object at 0x2b220403e7e8>) of role type named typ_ect
% 0.58/0.81  Using role type
% 0.58/0.81  Declaring ect:(fofType->((fofType->(fofType->Prop))->fofType))
% 0.58/0.81  FOF formula (((eq (fofType->((fofType->(fofType->Prop))->fofType))) ect) (fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((d_Sep (power X0)) ((anec X0) X1)))) of role definition named def_ect
% 0.58/0.81  A new definition: (((eq (fofType->((fofType->(fofType->Prop))->fofType))) ect) (fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((d_Sep (power X0)) ((anec X0) X1))))
% 0.58/0.83  Defined: ect:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((d_Sep (power X0)) ((anec X0) X1)))
% 0.58/0.83  FOF formula (<kernel.Constant object at 0x2b220403e7e8>, <kernel.DependentProduct object at 0x2b220403e200>) of role type named typ_ectset
% 0.58/0.83  Using role type
% 0.58/0.83  Declaring ectset:(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 0.58/0.83  FOF formula (((eq (fofType->((fofType->(fofType->Prop))->(fofType->fofType)))) ectset) (fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((out (power X0)) ((anec X0) X1)))) of role definition named def_ectset
% 0.58/0.83  A new definition: (((eq (fofType->((fofType->(fofType->Prop))->(fofType->fofType)))) ectset) (fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((out (power X0)) ((anec X0) X1))))
% 0.58/0.83  Defined: ectset:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((out (power X0)) ((anec X0) X1)))
% 0.58/0.83  FOF formula (<kernel.Constant object at 0x2b220403e200>, <kernel.DependentProduct object at 0x2b220403e050>) of role type named typ_ectelt
% 0.58/0.83  Using role type
% 0.58/0.83  Declaring ectelt:(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 0.58/0.83  FOF formula (((eq (fofType->((fofType->(fofType->Prop))->(fofType->fofType)))) ectelt) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> (((ectset X0) X1) (((ecelt X0) X1) X2)))) of role definition named def_ectelt
% 0.58/0.83  A new definition: (((eq (fofType->((fofType->(fofType->Prop))->(fofType->fofType)))) ectelt) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> (((ectset X0) X1) (((ecelt X0) X1) X2))))
% 0.58/0.83  Defined: ectelt:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> (((ectset X0) X1) (((ecelt X0) X1) X2)))
% 0.58/0.83  FOF formula (<kernel.Constant object at 0x2b220403e050>, <kernel.DependentProduct object at 0x2b220403e9e0>) of role type named typ_ecect
% 0.58/0.83  Using role type
% 0.58/0.83  Declaring ecect:(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 0.58/0.83  FOF formula (((eq (fofType->((fofType->(fofType->Prop))->(fofType->fofType)))) ecect) (fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((e_in (power X0)) ((anec X0) X1)))) of role definition named def_ecect
% 0.58/0.83  A new definition: (((eq (fofType->((fofType->(fofType->Prop))->(fofType->fofType)))) ecect) (fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((e_in (power X0)) ((anec X0) X1))))
% 0.58/0.83  Defined: ecect:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((e_in (power X0)) ((anec X0) X1)))
% 0.58/0.83  FOF formula (<kernel.Constant object at 0x2b220403e9e0>, <kernel.DependentProduct object at 0x2b220403e3f8>) of role type named typ_fixfu
% 0.58/0.83  Using role type
% 0.58/0.83  Declaring fixfu:(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))
% 0.58/0.83  FOF formula (((eq (fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))) fixfu) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> ((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> ((all_of (fun (X5:fofType)=> ((in X5) X0))) (fun (X5:fofType)=> (((X1 X4) X5)->(((e_is X2) ((ap X3) X4)) ((ap X3) X5))))))))) of role definition named def_fixfu
% 0.58/0.83  A new definition: (((eq (fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))) fixfu) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> ((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> ((all_of (fun (X5:fofType)=> ((in X5) X0))) (fun (X5:fofType)=> (((X1 X4) X5)->(((e_is X2) ((ap X3) X4)) ((ap X3) X5)))))))))
% 0.58/0.83  Defined: fixfu:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> ((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> ((all_of (fun (X5:fofType)=> ((in X5) X0))) (fun (X5:fofType)=> (((X1 X4) X5)->(((e_is X2) ((ap X3) X4)) ((ap X3) X5))))))))
% 0.58/0.83  FOF formula (<kernel.Constant object at 0x2b220403e3f8>, <kernel.DependentProduct object at 0x2b220403e878>) of role type named typ_d_10_prop1
% 0.58/0.83  Using role type
% 0.58/0.83  Declaring d_10_prop1:(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->(fofType->Prop)))))))
% 0.58/0.83  FOF formula (((eq (fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->(fofType->Prop)))))))) d_10_prop1) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType) (X5:fofType) (X6:fofType)=> ((d_and (((esti X0) X6) (((ecect X0) X1) X4))) (((e_is X2) ((ap X3) X6)) X5)))) of role definition named def_d_10_prop1
% 0.63/0.84  A new definition: (((eq (fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->(fofType->Prop)))))))) d_10_prop1) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType) (X5:fofType) (X6:fofType)=> ((d_and (((esti X0) X6) (((ecect X0) X1) X4))) (((e_is X2) ((ap X3) X6)) X5))))
% 0.63/0.84  Defined: d_10_prop1:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType) (X5:fofType) (X6:fofType)=> ((d_and (((esti X0) X6) (((ecect X0) X1) X4))) (((e_is X2) ((ap X3) X6)) X5)))
% 0.63/0.84  FOF formula (<kernel.Constant object at 0x2b220403e878>, <kernel.DependentProduct object at 0x2b220403eab8>) of role type named typ_prop2
% 0.63/0.84  Using role type
% 0.63/0.84  Declaring prop2:(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->Prop))))))
% 0.63/0.84  FOF formula (((eq (fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->Prop))))))) prop2) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType) (X5:fofType)=> ((l_some X0) ((((((d_10_prop1 X0) X1) X2) X3) X4) X5)))) of role definition named def_prop2
% 0.63/0.84  A new definition: (((eq (fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->Prop))))))) prop2) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType) (X5:fofType)=> ((l_some X0) ((((((d_10_prop1 X0) X1) X2) X3) X4) X5))))
% 0.63/0.84  Defined: prop2:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType) (X5:fofType)=> ((l_some X0) ((((((d_10_prop1 X0) X1) X2) X3) X4) X5)))
% 0.63/0.84  FOF formula (<kernel.Constant object at 0x2b220403eab8>, <kernel.DependentProduct object at 0x2b220403e1b8>) of role type named typ_indeq
% 0.63/0.84  Using role type
% 0.63/0.84  Declaring indeq:(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->fofType)))))
% 0.63/0.84  FOF formula (((eq (fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->fofType)))))) indeq) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType)=> ((ind X2) (((((prop2 X0) X1) X2) X3) X4)))) of role definition named def_indeq
% 0.63/0.84  A new definition: (((eq (fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->fofType)))))) indeq) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType)=> ((ind X2) (((((prop2 X0) X1) X2) X3) X4))))
% 0.63/0.84  Defined: indeq:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType)=> ((ind X2) (((((prop2 X0) X1) X2) X3) X4)))
% 0.63/0.84  FOF formula (<kernel.Constant object at 0x2b220403e1b8>, <kernel.DependentProduct object at 0x2b220403e680>) of role type named typ_fixfu2
% 0.63/0.84  Using role type
% 0.63/0.84  Declaring fixfu2:(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))
% 0.63/0.84  FOF formula (((eq (fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))) fixfu2) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> ((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> ((all_of (fun (X5:fofType)=> ((in X5) X0))) (fun (X5:fofType)=> ((all_of (fun (X6:fofType)=> ((in X6) X0))) (fun (X6:fofType)=> ((all_of (fun (X7:fofType)=> ((in X7) X0))) (fun (X7:fofType)=> (((X1 X4) X5)->(((X1 X6) X7)->(((e_is X2) ((ap ((ap X3) X4)) X6)) ((ap ((ap X3) X5)) X7)))))))))))))) of role definition named def_fixfu2
% 0.63/0.85  A new definition: (((eq (fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))) fixfu2) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> ((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> ((all_of (fun (X5:fofType)=> ((in X5) X0))) (fun (X5:fofType)=> ((all_of (fun (X6:fofType)=> ((in X6) X0))) (fun (X6:fofType)=> ((all_of (fun (X7:fofType)=> ((in X7) X0))) (fun (X7:fofType)=> (((X1 X4) X5)->(((X1 X6) X7)->(((e_is X2) ((ap ((ap X3) X4)) X6)) ((ap ((ap X3) X5)) X7))))))))))))))
% 0.63/0.85  Defined: fixfu2:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> ((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> ((all_of (fun (X5:fofType)=> ((in X5) X0))) (fun (X5:fofType)=> ((all_of (fun (X6:fofType)=> ((in X6) X0))) (fun (X6:fofType)=> ((all_of (fun (X7:fofType)=> ((in X7) X0))) (fun (X7:fofType)=> (((X1 X4) X5)->(((X1 X6) X7)->(((e_is X2) ((ap ((ap X3) X4)) X6)) ((ap ((ap X3) X5)) X7)))))))))))))
% 0.65/0.86  FOF formula (<kernel.Constant object at 0x2b220403e680>, <kernel.DependentProduct object at 0x2b220403e440>) of role type named typ_d_11_i
% 0.65/0.86  Using role type
% 0.65/0.86  Declaring d_11_i:(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->fofType)))))
% 0.65/0.86  FOF formula (((eq (fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->fofType)))))) d_11_i) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> (((indeq X0) X1) ((d_Pi X0) (fun (X3:fofType)=> X2))))) of role definition named def_d_11_i
% 0.65/0.86  A new definition: (((eq (fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->fofType)))))) d_11_i) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> (((indeq X0) X1) ((d_Pi X0) (fun (X3:fofType)=> X2)))))
% 0.65/0.86  Defined: d_11_i:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> (((indeq X0) X1) ((d_Pi X0) (fun (X3:fofType)=> X2))))
% 0.65/0.86  FOF formula (<kernel.Constant object at 0x2b220403e440>, <kernel.DependentProduct object at 0x2b220403ea70>) of role type named typ_indeq2
% 0.65/0.86  Using role type
% 0.65/0.86  Declaring indeq2:(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->fofType))))))
% 0.65/0.86  FOF formula (((eq (fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->fofType))))))) indeq2) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType)=> ((((indeq X0) X1) X2) (((((d_11_i X0) X1) X2) X3) X4)))) of role definition named def_indeq2
% 0.65/0.86  A new definition: (((eq (fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->fofType))))))) indeq2) (fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType)=> ((((indeq X0) X1) X2) (((((d_11_i X0) X1) X2) X3) X4))))
% 0.65/0.86  Defined: indeq2:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType)=> ((((indeq X0) X1) X2) (((((d_11_i X0) X1) X2) X3) X4)))
% 0.65/0.86  FOF formula (<kernel.Constant object at 0x2b220403ea70>, <kernel.Single object at 0x2b220403e440>) of role type named typ_nat
% 0.65/0.86  Using role type
% 0.65/0.86  Declaring nat:fofType
% 0.65/0.86  FOF formula (((eq fofType) nat) ((d_Sep omega) (fun (X0:fofType)=> (not (((eq fofType) X0) emptyset))))) of role definition named def_nat
% 0.65/0.86  A new definition: (((eq fofType) nat) ((d_Sep omega) (fun (X0:fofType)=> (not (((eq fofType) X0) emptyset)))))
% 0.65/0.86  Defined: nat:=((d_Sep omega) (fun (X0:fofType)=> (not (((eq fofType) X0) emptyset))))
% 0.65/0.86  FOF formula (<kernel.Constant object at 0x2b220403e440>, <kernel.DependentProduct object at 0x2b220403e050>) of role type named typ_n_is
% 0.65/0.86  Using role type
% 0.65/0.86  Declaring n_is:(fofType->(fofType->Prop))
% 0.65/0.86  FOF formula (((eq (fofType->(fofType->Prop))) n_is) (e_is nat)) of role definition named def_n_is
% 0.65/0.86  A new definition: (((eq (fofType->(fofType->Prop))) n_is) (e_is nat))
% 0.65/0.86  Defined: n_is:=(e_is nat)
% 0.65/0.86  FOF formula (<kernel.Constant object at 0x2b220403ef38>, <kernel.DependentProduct object at 0x2b220403ecb0>) of role type named typ_nis
% 0.65/0.86  Using role type
% 0.65/0.86  Declaring nis:(fofType->(fofType->Prop))
% 0.65/0.86  FOF formula (((eq (fofType->(fofType->Prop))) nis) (fun (X0:fofType) (X1:fofType)=> (d_not ((n_is X0) X1)))) of role definition named def_nis
% 0.65/0.86  A new definition: (((eq (fofType->(fofType->Prop))) nis) (fun (X0:fofType) (X1:fofType)=> (d_not ((n_is X0) X1))))
% 0.65/0.86  Defined: nis:=(fun (X0:fofType) (X1:fofType)=> (d_not ((n_is X0) X1)))
% 0.65/0.86  FOF formula (<kernel.Constant object at 0x2b220403ecb0>, <kernel.DependentProduct object at 0x2b220403e050>) of role type named typ_n_in
% 0.65/0.86  Using role type
% 0.65/0.86  Declaring n_in:(fofType->(fofType->Prop))
% 0.65/0.86  FOF formula (((eq (fofType->(fofType->Prop))) n_in) (esti nat)) of role definition named def_n_in
% 0.65/0.86  A new definition: (((eq (fofType->(fofType->Prop))) n_in) (esti nat))
% 0.65/0.87  Defined: n_in:=(esti nat)
% 0.65/0.87  FOF formula (<kernel.Constant object at 0x2b220403e9e0>, <kernel.DependentProduct object at 0x2b220403e050>) of role type named typ_n_some
% 0.65/0.87  Using role type
% 0.65/0.87  Declaring n_some:((fofType->Prop)->Prop)
% 0.65/0.87  FOF formula (((eq ((fofType->Prop)->Prop)) n_some) (l_some nat)) of role definition named def_n_some
% 0.65/0.87  A new definition: (((eq ((fofType->Prop)->Prop)) n_some) (l_some nat))
% 0.65/0.87  Defined: n_some:=(l_some nat)
% 0.65/0.87  FOF formula (<kernel.Constant object at 0x2b220403ef80>, <kernel.DependentProduct object at 0x2b220403e050>) of role type named typ_n_all
% 0.65/0.87  Using role type
% 0.65/0.87  Declaring n_all:((fofType->Prop)->Prop)
% 0.65/0.87  FOF formula (((eq ((fofType->Prop)->Prop)) n_all) (all nat)) of role definition named def_n_all
% 0.65/0.87  A new definition: (((eq ((fofType->Prop)->Prop)) n_all) (all nat))
% 0.65/0.87  Defined: n_all:=(all nat)
% 0.65/0.87  FOF formula (<kernel.Constant object at 0x2b220403ec68>, <kernel.DependentProduct object at 0x2b220403e050>) of role type named typ_n_one
% 0.65/0.87  Using role type
% 0.65/0.87  Declaring n_one:((fofType->Prop)->Prop)
% 0.65/0.87  FOF formula (((eq ((fofType->Prop)->Prop)) n_one) (one nat)) of role definition named def_n_one
% 0.65/0.87  A new definition: (((eq ((fofType->Prop)->Prop)) n_one) (one nat))
% 0.65/0.87  Defined: n_one:=(one nat)
% 0.65/0.87  FOF formula (<kernel.Constant object at 0x2b220403ecb0>, <kernel.Single object at 0x2b220403ec68>) of role type named typ_n_1
% 0.65/0.87  Using role type
% 0.65/0.87  Declaring n_1:fofType
% 0.65/0.87  FOF formula (((eq fofType) n_1) (ordsucc emptyset)) of role definition named def_n_1
% 0.65/0.87  A new definition: (((eq fofType) n_1) (ordsucc emptyset))
% 0.65/0.87  Defined: n_1:=(ordsucc emptyset)
% 0.65/0.87  FOF formula ((is_of n_1) (fun (X0:fofType)=> ((in X0) nat))) of role axiom named n_1_p
% 0.65/0.87  A new axiom: ((is_of n_1) (fun (X0:fofType)=> ((in X0) nat)))
% 0.65/0.87  FOF formula ((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((is_of (ordsucc X0)) (fun (X1:fofType)=> ((in X1) nat))))) of role axiom named suc_p
% 0.65/0.87  A new axiom: ((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((is_of (ordsucc X0)) (fun (X1:fofType)=> ((in X1) nat)))))
% 0.65/0.87  FOF formula ((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((nis (ordsucc X0)) n_1))) of role axiom named n_ax3
% 0.65/0.87  A new axiom: ((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((nis (ordsucc X0)) n_1)))
% 0.65/0.87  FOF formula ((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> (((n_is (ordsucc X0)) (ordsucc X1))->((n_is X0) X1)))))) of role axiom named n_ax4
% 0.65/0.87  A new axiom: ((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> (((n_is (ordsucc X0)) (ordsucc X1))->((n_is X0) X1))))))
% 0.65/0.87  FOF formula (<kernel.Constant object at 0x2b220403e878>, <kernel.DependentProduct object at 0x2b2204045878>) of role type named typ_cond1
% 0.65/0.87  Using role type
% 0.65/0.87  Declaring cond1:(fofType->Prop)
% 0.65/0.87  FOF formula (((eq (fofType->Prop)) cond1) (n_in n_1)) of role definition named def_cond1
% 0.65/0.87  A new definition: (((eq (fofType->Prop)) cond1) (n_in n_1))
% 0.65/0.87  Defined: cond1:=(n_in n_1)
% 0.65/0.87  FOF formula (<kernel.Constant object at 0x2b220403e878>, <kernel.DependentProduct object at 0x2b22040453b0>) of role type named typ_cond2
% 0.65/0.87  Using role type
% 0.65/0.87  Declaring cond2:(fofType->Prop)
% 0.65/0.87  FOF formula (((eq (fofType->Prop)) cond2) (fun (X0:fofType)=> (n_all (fun (X1:fofType)=> ((imp ((n_in X1) X0)) ((n_in (ordsucc X1)) X0)))))) of role definition named def_cond2
% 0.65/0.87  A new definition: (((eq (fofType->Prop)) cond2) (fun (X0:fofType)=> (n_all (fun (X1:fofType)=> ((imp ((n_in X1) X0)) ((n_in (ordsucc X1)) X0))))))
% 0.65/0.87  Defined: cond2:=(fun (X0:fofType)=> (n_all (fun (X1:fofType)=> ((imp ((n_in X1) X0)) ((n_in (ordsucc X1)) X0)))))
% 0.65/0.87  FOF formula ((all_of (fun (X0:fofType)=> ((in X0) (power nat)))) (fun (X0:fofType)=> ((cond1 X0)->((cond2 X0)->((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> ((n_in X1) X0))))))) of role axiom named n_ax5
% 0.65/0.87  A new axiom: ((all_of (fun (X0:fofType)=> ((in X0) (power nat)))) (fun (X0:fofType)=> ((cond1 X0)->((cond2 X0)->((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> ((n_in X1) X0)))))))
% 0.65/0.87  FOF formula (<kernel.Constant object at 0x2b2204045248>, <kernel.DependentProduct object at 0x2b2204045758>) of role type named typ_i1_s
% 0.65/0.89  Using role type
% 0.65/0.89  Declaring i1_s:((fofType->Prop)->fofType)
% 0.65/0.89  FOF formula (((eq ((fofType->Prop)->fofType)) i1_s) (d_Sep nat)) of role definition named def_i1_s
% 0.65/0.89  A new definition: (((eq ((fofType->Prop)->fofType)) i1_s) (d_Sep nat))
% 0.65/0.89  Defined: i1_s:=(d_Sep nat)
% 0.65/0.89  FOF formula ((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> (((nis X0) X1)->((nis (ordsucc X0)) (ordsucc X1))))))) of role axiom named satz1
% 0.65/0.89  A new axiom: ((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> (((nis X0) X1)->((nis (ordsucc X0)) (ordsucc X1)))))))
% 0.65/0.89  FOF formula (<kernel.Constant object at 0x2b22008b55a8>, <kernel.DependentProduct object at 0x2b220098e128>) of role type named typ_d_22_prop1
% 0.65/0.89  Using role type
% 0.65/0.89  Declaring d_22_prop1:(fofType->Prop)
% 0.65/0.89  FOF formula (((eq (fofType->Prop)) d_22_prop1) (fun (X0:fofType)=> ((nis (ordsucc X0)) X0))) of role definition named def_d_22_prop1
% 0.65/0.89  A new definition: (((eq (fofType->Prop)) d_22_prop1) (fun (X0:fofType)=> ((nis (ordsucc X0)) X0)))
% 0.65/0.89  Defined: d_22_prop1:=(fun (X0:fofType)=> ((nis (ordsucc X0)) X0))
% 0.65/0.89  FOF formula ((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((nis (ordsucc X0)) X0))) of role axiom named satz2
% 0.65/0.89  A new axiom: ((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((nis (ordsucc X0)) X0)))
% 0.65/0.89  FOF formula (<kernel.Constant object at 0x2b220098e050>, <kernel.DependentProduct object at 0x2b2200996908>) of role type named typ_d_23_prop1
% 0.65/0.89  Using role type
% 0.65/0.89  Declaring d_23_prop1:(fofType->Prop)
% 0.65/0.89  FOF formula (((eq (fofType->Prop)) d_23_prop1) (fun (X0:fofType)=> ((l_or ((n_is X0) n_1)) (n_some (fun (X1:fofType)=> ((n_is X0) (ordsucc X1))))))) of role definition named def_d_23_prop1
% 0.65/0.89  A new definition: (((eq (fofType->Prop)) d_23_prop1) (fun (X0:fofType)=> ((l_or ((n_is X0) n_1)) (n_some (fun (X1:fofType)=> ((n_is X0) (ordsucc X1)))))))
% 0.65/0.89  Defined: d_23_prop1:=(fun (X0:fofType)=> ((l_or ((n_is X0) n_1)) (n_some (fun (X1:fofType)=> ((n_is X0) (ordsucc X1))))))
% 0.65/0.89  FOF formula ((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> (((nis X0) n_1)->(n_some (fun (X1:fofType)=> ((n_is X0) (ordsucc X1))))))) of role axiom named satz3
% 0.65/0.89  A new axiom: ((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> (((nis X0) n_1)->(n_some (fun (X1:fofType)=> ((n_is X0) (ordsucc X1)))))))
% 0.65/0.89  FOF formula ((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> (((nis X0) n_1)->(n_one (fun (X1:fofType)=> ((n_is X0) (ordsucc X1))))))) of role conjecture named satz3a
% 0.65/0.89  Conjecture to prove = ((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> (((nis X0) n_1)->(n_one (fun (X1:fofType)=> ((n_is X0) (ordsucc X1))))))):Prop
% 0.65/0.89  We need to prove ['((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> (((nis X0) n_1)->(n_one (fun (X1:fofType)=> ((n_is X0) (ordsucc X1)))))))']
% 0.65/0.89  Parameter fofType:Type.
% 0.65/0.89  Definition is_of:=(fun (X0:fofType) (X1:(fofType->Prop))=> (X1 X0)):(fofType->((fofType->Prop)->Prop)).
% 0.65/0.89  Definition all_of:=(fun (X0:(fofType->Prop)) (X1:(fofType->Prop))=> (forall (X2:fofType), (((is_of X2) X0)->(X1 X2)))):((fofType->Prop)->((fofType->Prop)->Prop)).
% 0.65/0.89  Parameter eps:((fofType->Prop)->fofType).
% 0.65/0.89  Parameter in:(fofType->(fofType->Prop)).
% 0.65/0.89  Definition d_Subq:=(fun (X0:fofType) (X1:fofType)=> (forall (X2:fofType), (((in X2) X0)->((in X2) X1)))):(fofType->(fofType->Prop)).
% 0.65/0.89  Axiom set_ext:(forall (X0:fofType) (X1:fofType), (((d_Subq X0) X1)->(((d_Subq X1) X0)->(((eq fofType) X0) X1)))).
% 0.65/0.89  Axiom k_In_ind:(forall (X0:(fofType->Prop)), ((forall (X1:fofType), ((forall (X2:fofType), (((in X2) X1)->(X0 X2)))->(X0 X1)))->(forall (X1:fofType), (X0 X1)))).
% 0.65/0.89  Parameter emptyset:fofType.
% 0.65/0.89  Axiom k_EmptyAx:(((ex fofType) (fun (X0:fofType)=> ((in X0) emptyset)))->False).
% 0.65/0.89  Parameter union:(fofType->fofType).
% 0.65/0.89  Axiom k_UnionEq:(forall (X0:fofType) (X1:fofType), ((iff ((in X1) (union X0))) ((ex fofType) (fun (X2:fofType)=> ((and ((in X1) X2)) ((in X2) X0)))))).
% 0.65/0.89  Parameter power:(fofType->fofType).
% 0.65/0.89  Axiom k_PowerEq:(forall (X0:fofType) (X1:fofType), ((iff ((in X1) (power X0))) ((d_Subq X1) X0))).
% 0.65/0.89  Parameter repl:(fofType->((fofType->fofType)->fofType)).
% 0.65/0.89  Axiom k_ReplEq:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), ((iff ((in X2) ((repl X0) X1))) ((ex fofType) (fun (X3:fofType)=> ((and ((in X3) X0)) (((eq fofType) X2) (X1 X3))))))).
% 0.65/0.89  Definition d_Union_closed:=(fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->((in (union X1)) X0)))):(fofType->Prop).
% 0.65/0.89  Definition d_Power_closed:=(fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->((in (power X1)) X0)))):(fofType->Prop).
% 0.65/0.89  Definition d_Repl_closed:=(fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->(forall (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X1)->((in (X2 X3)) X0)))->((in ((repl X1) X2)) X0)))))):(fofType->Prop).
% 0.65/0.89  Definition d_ZF_closed:=(fun (X0:fofType)=> ((and ((and (d_Union_closed X0)) (d_Power_closed X0))) (d_Repl_closed X0))):(fofType->Prop).
% 0.65/0.89  Parameter univof:(fofType->fofType).
% 0.65/0.89  Axiom k_UnivOf_In:(forall (X0:fofType), ((in X0) (univof X0))).
% 0.65/0.89  Axiom k_UnivOf_ZF_closed:(forall (X0:fofType), (d_ZF_closed (univof X0))).
% 0.65/0.89  Definition if:=(fun (X0:Prop) (X1:fofType) (X2:fofType)=> (eps (fun (X3:fofType)=> ((or ((and X0) (((eq fofType) X3) X1))) ((and (X0->False)) (((eq fofType) X3) X2)))))):(Prop->(fofType->(fofType->fofType))).
% 0.65/0.89  Axiom if_i_correct:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((or ((and X0) (((eq fofType) (((if X0) X1) X2)) X1))) ((and (X0->False)) (((eq fofType) (((if X0) X1) X2)) X2)))).
% 0.65/0.89  Axiom if_i_0:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((X0->False)->(((eq fofType) (((if X0) X1) X2)) X2))).
% 0.65/0.89  Axiom if_i_1:(forall (X0:Prop) (X1:fofType) (X2:fofType), (X0->(((eq fofType) (((if X0) X1) X2)) X1))).
% 0.65/0.89  Axiom if_i_or:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((or (((eq fofType) (((if X0) X1) X2)) X1)) (((eq fofType) (((if X0) X1) X2)) X2))).
% 0.65/0.89  Definition nIn:=(fun (X0:fofType) (X1:fofType)=> (((in X0) X1)->False)):(fofType->(fofType->Prop)).
% 0.65/0.89  Axiom k_PowerE:(forall (X0:fofType) (X1:fofType), (((in X1) (power X0))->((d_Subq X1) X0))).
% 0.65/0.89  Axiom k_PowerI:(forall (X0:fofType) (X1:fofType), (((d_Subq X1) X0)->((in X1) (power X0)))).
% 0.65/0.89  Axiom k_Self_In_Power:(forall (X0:fofType), ((in X0) (power X0))).
% 0.65/0.89  Definition d_UPair:=(fun (X0:fofType) (X1:fofType)=> ((repl (power (power emptyset))) (fun (X2:fofType)=> (((if ((in emptyset) X2)) X0) X1)))):(fofType->(fofType->fofType)).
% 0.65/0.89  Definition d_Sing:=(fun (X0:fofType)=> ((d_UPair X0) X0)):(fofType->fofType).
% 0.65/0.89  Definition binunion:=(fun (X0:fofType) (X1:fofType)=> (union ((d_UPair X0) X1))):(fofType->(fofType->fofType)).
% 0.65/0.89  Definition famunion:=(fun (X0:fofType) (X1:(fofType->fofType))=> (union ((repl X0) X1))):(fofType->((fofType->fofType)->fofType)).
% 0.65/0.89  Definition d_Sep:=(fun (X0:fofType) (X1:(fofType->Prop))=> (((if ((ex fofType) (fun (X2:fofType)=> ((and ((in X2) X0)) (X1 X2))))) ((repl X0) (fun (X2:fofType)=> (((if (X1 X2)) X2) (eps (fun (X3:fofType)=> ((and ((in X3) X0)) (X1 X3)))))))) emptyset)):(fofType->((fofType->Prop)->fofType)).
% 0.65/0.89  Axiom k_SepI:(forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) X0)->((X1 X2)->((in X2) ((d_Sep X0) X1))))).
% 0.65/0.89  Axiom k_SepE1:(forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) ((d_Sep X0) X1))->((in X2) X0))).
% 0.65/0.89  Axiom k_SepE2:(forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) ((d_Sep X0) X1))->(X1 X2))).
% 0.65/0.89  Definition d_ReplSep:=(fun (X0:fofType) (X1:(fofType->Prop))=> (repl ((d_Sep X0) X1))):(fofType->((fofType->Prop)->((fofType->fofType)->fofType))).
% 0.65/0.89  Definition setminus:=(fun (X0:fofType) (X1:fofType)=> ((d_Sep X0) (fun (X2:fofType)=> ((nIn X2) X1)))):(fofType->(fofType->fofType)).
% 0.65/0.89  Definition d_In_rec_G:=(fun (X0:(fofType->((fofType->fofType)->fofType))) (X1:fofType) (X2:fofType)=> (forall (X3:(fofType->(fofType->Prop))), ((forall (X4:fofType) (X5:(fofType->fofType)), ((forall (X6:fofType), (((in X6) X4)->((X3 X6) (X5 X6))))->((X3 X4) ((X0 X4) X5))))->((X3 X1) X2)))):((fofType->((fofType->fofType)->fofType))->(fofType->(fofType->Prop))).
% 0.65/0.89  Definition d_In_rec:=(fun (X0:(fofType->((fofType->fofType)->fofType))) (X1:fofType)=> (eps ((d_In_rec_G X0) X1))):((fofType->((fofType->fofType)->fofType))->(fofType->fofType)).
% 0.65/0.89  Definition ordsucc:=(fun (X0:fofType)=> ((binunion X0) (d_Sing X0))):(fofType->fofType).
% 0.65/0.89  Axiom neq_ordsucc_0:(forall (X0:fofType), (not (((eq fofType) (ordsucc X0)) emptyset))).
% 0.65/0.89  Axiom ordsucc_inj:(forall (X0:fofType) (X1:fofType), ((((eq fofType) (ordsucc X0)) (ordsucc X1))->(((eq fofType) X0) X1))).
% 0.65/0.89  Axiom k_In_0_1:((in emptyset) (ordsucc emptyset)).
% 0.65/0.89  Definition nat_p:=(fun (X0:fofType)=> (forall (X1:(fofType->Prop)), ((X1 emptyset)->((forall (X2:fofType), ((X1 X2)->(X1 (ordsucc X2))))->(X1 X0))))):(fofType->Prop).
% 0.65/0.89  Axiom nat_ordsucc:(forall (X0:fofType), ((nat_p X0)->(nat_p (ordsucc X0)))).
% 0.65/0.89  Axiom nat_1:(nat_p (ordsucc emptyset)).
% 0.65/0.89  Axiom nat_ind:(forall (X0:(fofType->Prop)), ((X0 emptyset)->((forall (X1:fofType), ((nat_p X1)->((X0 X1)->(X0 (ordsucc X1)))))->(forall (X1:fofType), ((nat_p X1)->(X0 X1)))))).
% 0.65/0.89  Axiom nat_inv:(forall (X0:fofType), ((nat_p X0)->((or (((eq fofType) X0) emptyset)) ((ex fofType) (fun (X1:fofType)=> ((and (nat_p X1)) (((eq fofType) X0) (ordsucc X1)))))))).
% 0.65/0.89  Definition omega:=((d_Sep (univof emptyset)) nat_p):fofType.
% 0.65/0.89  Axiom omega_nat_p:(forall (X0:fofType), (((in X0) omega)->(nat_p X0))).
% 0.65/0.89  Axiom nat_p_omega:(forall (X0:fofType), ((nat_p X0)->((in X0) omega))).
% 0.65/0.89  Definition d_Inj1:=(d_In_rec (fun (X0:fofType) (X1:(fofType->fofType))=> ((binunion (d_Sing emptyset)) ((repl X0) X1)))):(fofType->fofType).
% 0.65/0.89  Definition d_Inj0:=(fun (X0:fofType)=> ((repl X0) d_Inj1)):(fofType->fofType).
% 0.65/0.89  Definition d_Unj:=(d_In_rec (fun (X0:fofType)=> (repl ((setminus X0) (d_Sing emptyset))))):(fofType->fofType).
% 0.65/0.89  Definition pair:=(fun (X0:fofType) (X1:fofType)=> ((binunion ((repl X0) d_Inj0)) ((repl X1) d_Inj1))):(fofType->(fofType->fofType)).
% 0.65/0.89  Definition proj0:=(fun (X0:fofType)=> (((d_ReplSep X0) (fun (X1:fofType)=> ((ex fofType) (fun (X2:fofType)=> (((eq fofType) (d_Inj0 X2)) X1))))) d_Unj)):(fofType->fofType).
% 0.65/0.89  Definition _TPTP_proj1:=(fun (X0:fofType)=> (((d_ReplSep X0) (fun (X1:fofType)=> ((ex fofType) (fun (X2:fofType)=> (((eq fofType) (d_Inj1 X2)) X1))))) d_Unj)):(fofType->fofType).
% 0.65/0.89  Axiom proj0_pair_eq:(forall (X0:fofType) (X1:fofType), (((eq fofType) (proj0 ((pair X0) X1))) X0)).
% 0.65/0.89  Axiom proj1_pair_eq:(forall (X0:fofType) (X1:fofType), (((eq fofType) (_TPTP_proj1 ((pair X0) X1))) X1)).
% 0.65/0.89  Definition d_Sigma:=(fun (X0:fofType) (X1:(fofType->fofType))=> ((famunion X0) (fun (X2:fofType)=> ((repl (X1 X2)) (pair X2))))):(fofType->((fofType->fofType)->fofType)).
% 0.65/0.89  Axiom pair_Sigma:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) X0)->(forall (X3:fofType), (((in X3) (X1 X2))->((in ((pair X2) X3)) ((d_Sigma X0) X1)))))).
% 0.65/0.89  Axiom k_Sigma_eta_proj0_proj1:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((and ((and (((eq fofType) ((pair (proj0 X2)) (_TPTP_proj1 X2))) X2)) ((in (proj0 X2)) X0))) ((in (_TPTP_proj1 X2)) (X1 (proj0 X2)))))).
% 0.65/0.89  Axiom proj_Sigma_eta:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->(((eq fofType) ((pair (proj0 X2)) (_TPTP_proj1 X2))) X2))).
% 0.65/0.89  Axiom proj0_Sigma:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((in (proj0 X2)) X0))).
% 0.65/0.89  Axiom proj1_Sigma:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((in (_TPTP_proj1 X2)) (X1 (proj0 X2))))).
% 0.65/0.89  Definition setprod:=(fun (X0:fofType) (X1:fofType)=> ((d_Sigma X0) (fun (X2:fofType)=> X1))):(fofType->(fofType->fofType)).
% 0.65/0.89  Definition ap:=(fun (X0:fofType) (X1:fofType)=> (((d_ReplSep X0) (fun (X2:fofType)=> ((ex fofType) (fun (X3:fofType)=> (((eq fofType) X2) ((pair X1) X3)))))) _TPTP_proj1)):(fofType->(fofType->fofType)).
% 0.65/0.89  Axiom beta:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) X0)->(((eq fofType) ((ap ((d_Sigma X0) X1)) X2)) (X1 X2)))).
% 0.65/0.89  Definition pair_p:=(fun (X0:fofType)=> (((eq fofType) ((pair ((ap X0) emptyset)) ((ap X0) (ordsucc emptyset)))) X0)):(fofType->Prop).
% 0.65/0.89  Definition d_Pi:=(fun (X0:fofType) (X1:(fofType->fofType))=> ((d_Sep (power ((d_Sigma X0) (fun (X2:fofType)=> (union (X1 X2)))))) (fun (X2:fofType)=> (forall (X3:fofType), (((in X3) X0)->((in ((ap X2) X3)) (X1 X3))))))):(fofType->((fofType->fofType)->fofType)).
% 0.65/0.89  Axiom lam_Pi:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X0)->((in (X2 X3)) (X1 X3))))->((in ((d_Sigma X0) X2)) ((d_Pi X0) X1)))).
% 0.65/0.89  Axiom ap_Pi:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType) (X3:fofType), (((in X2) ((d_Pi X0) X1))->(((in X3) X0)->((in ((ap X2) X3)) (X1 X3))))).
% 0.65/0.89  Axiom k_Pi_ext:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Pi X0) X1))->(forall (X3:fofType), (((in X3) ((d_Pi X0) X1))->((forall (X4:fofType), (((in X4) X0)->(((eq fofType) ((ap X2) X4)) ((ap X3) X4))))->(((eq fofType) X2) X3)))))).
% 0.65/0.89  Axiom xi_ext:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X0)->(((eq fofType) (X1 X3)) (X2 X3))))->(((eq fofType) ((d_Sigma X0) X1)) ((d_Sigma X0) X2)))).
% 0.65/0.89  Axiom k_If_In_01:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((X0->((in X1) X2))->((in (((if X0) X1) emptyset)) (((if X0) X2) (ordsucc emptyset))))).
% 0.65/0.89  Axiom k_If_In_then_E:(forall (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType), (X0->(((in X1) (((if X0) X2) X3))->((in X1) X2)))).
% 0.65/0.89  Definition imp:=(fun (X0:Prop) (X1:Prop)=> (X0->X1)):(Prop->(Prop->Prop)).
% 0.65/0.89  Definition d_not:=(fun (X0:Prop)=> ((imp X0) False)):(Prop->Prop).
% 0.65/0.89  Definition wel:=(fun (X0:Prop)=> (d_not (d_not X0))):(Prop->Prop).
% 0.65/0.89  Axiom l_et:(forall (X0:Prop), ((wel X0)->X0)).
% 0.65/0.89  Definition obvious:=((imp False) False):Prop.
% 0.65/0.89  Definition l_ec:=(fun (X0:Prop) (X1:Prop)=> ((imp X0) (d_not X1))):(Prop->(Prop->Prop)).
% 0.65/0.89  Definition d_and:=(fun (X0:Prop) (X1:Prop)=> (d_not ((l_ec X0) X1))):(Prop->(Prop->Prop)).
% 0.65/0.89  Definition l_or:=(fun (X0:Prop)=> (imp (d_not X0))):(Prop->(Prop->Prop)).
% 0.65/0.89  Definition orec:=(fun (X0:Prop) (X1:Prop)=> ((d_and ((l_or X0) X1)) ((l_ec X0) X1))):(Prop->(Prop->Prop)).
% 0.65/0.89  Definition l_iff:=(fun (X0:Prop) (X1:Prop)=> ((d_and ((imp X0) X1)) ((imp X1) X0))):(Prop->(Prop->Prop)).
% 0.65/0.89  Definition all:=(fun (X0:fofType)=> (all_of (fun (X1:fofType)=> ((in X1) X0)))):(fofType->((fofType->Prop)->Prop)).
% 0.65/0.89  Definition non:=(fun (X0:fofType) (X1:(fofType->Prop)) (X2:fofType)=> (d_not (X1 X2))):(fofType->((fofType->Prop)->(fofType->Prop))).
% 0.65/0.89  Definition l_some:=(fun (X0:fofType) (X1:(fofType->Prop))=> (d_not ((all_of (fun (X2:fofType)=> ((in X2) X0))) ((non X0) X1)))):(fofType->((fofType->Prop)->Prop)).
% 0.65/0.89  Definition or3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((l_or X0) ((l_or X1) X2))):(Prop->(Prop->(Prop->Prop))).
% 0.65/0.89  Definition and3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((d_and X0) ((d_and X1) X2))):(Prop->(Prop->(Prop->Prop))).
% 0.65/0.89  Definition ec3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> (((and3 ((l_ec X0) X1)) ((l_ec X1) X2)) ((l_ec X2) X0))):(Prop->(Prop->(Prop->Prop))).
% 0.65/0.89  Definition orec3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((d_and (((or3 X0) X1) X2)) (((ec3 X0) X1) X2))):(Prop->(Prop->(Prop->Prop))).
% 0.65/0.89  Definition e_is:=(fun (X0:fofType) (X:fofType) (Y:fofType)=> (((eq fofType) X) Y)):(fofType->(fofType->(fofType->Prop))).
% 0.65/0.89  Axiom refis:(forall (X0:fofType), ((all_of (fun (X1:fofType)=> ((in X1) X0))) (fun (X1:fofType)=> (((e_is X0) X1) X1)))).
% 0.65/0.89  Axiom e_isp:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X0))) (fun (X3:fofType)=> ((X1 X2)->((((e_is X0) X2) X3)->(X1 X3)))))))).
% 0.65/0.89  Definition amone:=(fun (X0:fofType) (X1:(fofType->Prop))=> ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X0))) (fun (X3:fofType)=> ((X1 X2)->((X1 X3)->(((e_is X0) X2) X3)))))))):(fofType->((fofType->Prop)->Prop)).
% 0.65/0.89  Definition one:=(fun (X0:fofType) (X1:(fofType->Prop))=> ((d_and ((amone X0) X1)) ((l_some X0) X1))):(fofType->((fofType->Prop)->Prop)).
% 0.65/0.89  Definition ind:=(fun (X0:fofType) (X1:(fofType->Prop))=> (eps (fun (X2:fofType)=> ((and ((in X2) X0)) (X1 X2))))):(fofType->((fofType->Prop)->fofType)).
% 0.65/0.89  Axiom ind_p:(forall (X0:fofType) (X1:(fofType->Prop)), (((one X0) X1)->((is_of ((ind X0) X1)) (fun (X2:fofType)=> ((in X2) X0))))).
% 0.65/0.90  Axiom oneax:(forall (X0:fofType) (X1:(fofType->Prop)), (((one X0) X1)->(X1 ((ind X0) X1)))).
% 0.65/0.90  Definition injective:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((all X0) (fun (X4:fofType)=> ((imp (((e_is X1) ((ap X2) X3)) ((ap X2) X4))) (((e_is X0) X3) X4))))))):(fofType->(fofType->(fofType->Prop))).
% 0.65/0.90  Definition image:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((l_some X0) (fun (X4:fofType)=> (((e_is X1) X3) ((ap X2) X4))))):(fofType->(fofType->(fofType->(fofType->Prop)))).
% 0.65/0.90  Definition tofs:=(fun (X0:fofType) (X1:fofType)=> ap):(fofType->(fofType->(fofType->(fofType->fofType)))).
% 0.65/0.90  Definition soft:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((ind X0) (fun (X4:fofType)=> (((e_is X1) X3) ((ap X2) X4))))):(fofType->(fofType->(fofType->(fofType->fofType)))).
% 0.65/0.90  Definition inverse:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X1) (fun (X3:fofType)=> (((if ((((image X0) X1) X2) X3)) ((((soft X0) X1) X2) X3)) emptyset)))):(fofType->(fofType->(fofType->fofType))).
% 0.65/0.90  Definition surjective:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X1) (((image X0) X1) X2))):(fofType->(fofType->(fofType->Prop))).
% 0.65/0.90  Definition bijective:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_and (((injective X0) X1) X2)) (((surjective X0) X1) X2))):(fofType->(fofType->(fofType->Prop))).
% 0.65/0.90  Definition invf:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X1) (((soft X0) X1) X2))):(fofType->(fofType->(fofType->fofType))).
% 0.65/0.90  Definition inj_h:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_Sigma X0) (fun (X5:fofType)=> ((ap X4) ((ap X3) X5))))):(fofType->(fofType->(fofType->(fofType->(fofType->fofType))))).
% 0.65/0.90  Axiom e_fisi:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Pi X0) (fun (X3:fofType)=> X1))))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) ((d_Pi X0) (fun (X4:fofType)=> X1))))) (fun (X3:fofType)=> (((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> (((e_is X1) ((ap X2) X4)) ((ap X3) X4))))->(((e_is ((d_Pi X0) (fun (X4:fofType)=> X1))) X2) X3))))))).
% 0.65/0.90  Definition e_in:=(fun (X0:fofType) (X1:(fofType->Prop)) (X2:fofType)=> X2):(fofType->((fofType->Prop)->(fofType->fofType))).
% 0.65/0.90  Axiom e_in_p:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Sep X0) X1)))) (fun (X2:fofType)=> ((is_of (((e_in X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X0)))))).
% 0.65/0.90  Axiom e_inp:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Sep X0) X1)))) (fun (X2:fofType)=> (X1 (((e_in X0) X1) X2))))).
% 0.65/0.90  Axiom otax1:(forall (X0:fofType) (X1:(fofType->Prop)), (((injective ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1)))).
% 0.65/0.90  Axiom otax2:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((X1 X2)->((((image ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1))) X2))))).
% 0.65/0.90  Definition out:=(fun (X0:fofType) (X1:(fofType->Prop))=> (((soft ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1)))):(fofType->((fofType->Prop)->(fofType->fofType))).
% 0.65/0.90  Definition d_pair:=(fun (X0:fofType) (X1:fofType)=> pair):(fofType->(fofType->(fofType->(fofType->fofType)))).
% 0.65/0.90  Axiom e_pair_p:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> ((is_of ((((d_pair X0) X1) X2) X3)) (fun (X4:fofType)=> ((in X4) ((setprod X0) X1))))))))).
% 0.65/0.90  Definition first:=(fun (X0:fofType) (X1:fofType)=> proj0):(fofType->(fofType->(fofType->fofType))).
% 0.65/0.90  Axiom first_p:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> ((is_of (((first X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X0)))))).
% 0.65/0.90  Definition second:=(fun (X0:fofType) (X1:fofType)=> _TPTP_proj1):(fofType->(fofType->(fofType->fofType))).
% 0.65/0.90  Axiom second_p:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> ((is_of (((second X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X1)))))).
% 0.65/0.90  Axiom pairis1:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> (((e_is ((setprod X0) X1)) ((((d_pair X0) X1) (((first X0) X1) X2)) (((second X0) X1) X2))) X2)))).
% 0.65/0.90  Axiom firstis1:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> (((e_is X0) (((first X0) X1) ((((d_pair X0) X1) X2) X3))) X2)))))).
% 0.65/0.90  Axiom secondis1:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> (((e_is X1) (((second X0) X1) ((((d_pair X0) X1) X2) X3))) X3)))))).
% 0.65/0.90  Definition prop1:=(fun (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_and ((imp X0) (((e_is X1) X4) X2))) ((imp (d_not X0)) (((e_is X1) X4) X3)))):(Prop->(fofType->(fofType->(fofType->(fofType->Prop))))).
% 0.65/0.90  Definition ite:=(fun (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType)=> ((ind X1) ((((prop1 X0) X1) X2) X3))):(Prop->(fofType->(fofType->(fofType->fofType)))).
% 0.65/0.90  Definition wissel_wa:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((((ite (((e_is X0) X3) X1)) X0) X2) X3)):(fofType->(fofType->(fofType->(fofType->fofType)))).
% 0.65/0.90  Definition wissel_wb:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((((ite (((e_is X0) X3) X2)) X0) X1) ((((wissel_wa X0) X1) X2) X3))):(fofType->(fofType->(fofType->(fofType->fofType)))).
% 0.65/0.90  Definition wissel:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X0) (((wissel_wb X0) X1) X2))):(fofType->(fofType->(fofType->fofType))).
% 0.65/0.90  Definition changef:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_Sigma X0) (fun (X5:fofType)=> ((ap X2) ((ap (((wissel X0) X3) X4)) X5))))):(fofType->(fofType->(fofType->(fofType->(fofType->fofType))))).
% 0.65/0.90  Definition r_ec:=(fun (X0:Prop) (X1:Prop)=> (X0->(d_not X1))):(Prop->(Prop->Prop)).
% 0.65/0.90  Definition esti:=(fun (X0:fofType)=> in):(fofType->(fofType->(fofType->Prop))).
% 0.65/0.90  Axiom setof_p:(forall (X0:fofType) (X1:(fofType->Prop)), ((is_of ((d_Sep X0) X1)) (fun (X2:fofType)=> ((in X2) (power X0))))).
% 0.65/0.90  Axiom estii:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((X1 X2)->(((esti X0) X2) ((d_Sep X0) X1)))))).
% 0.65/0.90  Axiom estie:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((((esti X0) X2) ((d_Sep X0) X1))->(X1 X2))))).
% 0.65/0.90  Definition empty:=(fun (X0:fofType) (X1:fofType)=> ((all_of (fun (X2:fofType)=> ((in X2) X0))) ((non X0) (fun (X2:fofType)=> (((esti X0) X2) X1))))):(fofType->(fofType->Prop)).
% 0.65/0.90  Definition nonempty:=(fun (X0:fofType) (X1:fofType)=> ((l_some X0) (fun (X2:fofType)=> (((esti X0) X2) X1)))):(fofType->(fofType->Prop)).
% 0.65/0.90  Definition incl:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((imp (((esti X0) X3) X1)) (((esti X0) X3) X2))))):(fofType->(fofType->(fofType->Prop))).
% 0.65/0.90  Definition st_disj:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((l_ec (((esti X0) X3) X1)) (((esti X0) X3) X2))))):(fofType->(fofType->(fofType->Prop))).
% 0.65/0.90  Axiom isseti:(forall (X0:fofType), ((all_of (fun (X1:fofType)=> ((in X1) (power X0)))) (fun (X1:fofType)=> ((all_of (fun (X2:fofType)=> ((in X2) (power X0)))) (fun (X2:fofType)=> ((((incl X0) X1) X2)->((((incl X0) X2) X1)->(((e_is (power X0)) X1) X2)))))))).
% 0.65/0.90  Definition nissetprop:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((d_and (((esti X0) X3) X1)) (d_not (((esti X0) X3) X2)))):(fofType->(fofType->(fofType->(fofType->Prop)))).
% 0.65/0.90  Definition unmore:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sep X0) (fun (X3:fofType)=> ((l_some X1) (fun (X4:fofType)=> (((esti X0) X3) ((ap X2) X4))))))):(fofType->(fofType->(fofType->fofType))).
% 0.65/0.90  Definition ecelt:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> ((d_Sep X0) (X1 X2))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType))).
% 0.65/0.90  Definition ecp:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> (((e_is (power X0)) X2) (((ecelt X0) X1) X3))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))).
% 0.65/0.90  Definition anec:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> ((l_some X0) (((ecp X0) X1) X2))):(fofType->((fofType->(fofType->Prop))->(fofType->Prop))).
% 0.65/0.90  Definition ect:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((d_Sep (power X0)) ((anec X0) X1))):(fofType->((fofType->(fofType->Prop))->fofType)).
% 0.65/0.90  Definition ectset:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((out (power X0)) ((anec X0) X1))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType))).
% 0.65/0.90  Definition ectelt:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> (((ectset X0) X1) (((ecelt X0) X1) X2))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType))).
% 0.65/0.90  Definition ecect:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((e_in (power X0)) ((anec X0) X1))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType))).
% 0.65/0.90  Definition fixfu:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> ((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> ((all_of (fun (X5:fofType)=> ((in X5) X0))) (fun (X5:fofType)=> (((X1 X4) X5)->(((e_is X2) ((ap X3) X4)) ((ap X3) X5)))))))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))).
% 0.65/0.90  Definition d_10_prop1:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType) (X5:fofType) (X6:fofType)=> ((d_and (((esti X0) X6) (((ecect X0) X1) X4))) (((e_is X2) ((ap X3) X6)) X5))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->(fofType->Prop))))))).
% 0.65/0.90  Definition prop2:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType) (X5:fofType)=> ((l_some X0) ((((((d_10_prop1 X0) X1) X2) X3) X4) X5))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->Prop)))))).
% 0.65/0.90  Definition indeq:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType)=> ((ind X2) (((((prop2 X0) X1) X2) X3) X4))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->fofType))))).
% 0.65/0.90  Definition fixfu2:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> ((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> ((all_of (fun (X5:fofType)=> ((in X5) X0))) (fun (X5:fofType)=> ((all_of (fun (X6:fofType)=> ((in X6) X0))) (fun (X6:fofType)=> ((all_of (fun (X7:fofType)=> ((in X7) X0))) (fun (X7:fofType)=> (((X1 X4) X5)->(((X1 X6) X7)->(((e_is X2) ((ap ((ap X3) X4)) X6)) ((ap ((ap X3) X5)) X7))))))))))))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))).
% 0.65/0.90  Definition d_11_i:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> (((indeq X0) X1) ((d_Pi X0) (fun (X3:fofType)=> X2)))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->fofType))))).
% 0.65/0.90  Definition indeq2:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType)=> ((((indeq X0) X1) X2) (((((d_11_i X0) X1) X2) X3) X4))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->fofType)))))).
% 0.65/0.90  Definition nat:=((d_Sep omega) (fun (X0:fofType)=> (not (((eq fofType) X0) emptyset)))):fofType.
% 0.65/0.90  Definition n_is:=(e_is nat):(fofType->(fofType->Prop)).
% 0.65/0.90  Definition nis:=(fun (X0:fofType) (X1:fofType)=> (d_not ((n_is X0) X1))):(fofType->(fofType->Prop)).
% 0.65/0.90  Definition n_in:=(esti nat):(fofType->(fofType->Prop)).
% 0.65/0.90  Definition n_some:=(l_some nat):((fofType->Prop)->Prop).
% 0.65/0.90  Definition n_all:=(all nat):((fofType->Prop)->Prop).
% 0.65/0.90  Definition n_one:=(one nat):((fofType->Prop)->Prop).
% 0.65/0.90  Definition n_1:=(ordsucc emptyset):fofType.
% 0.65/0.90  Axiom n_1_p:((is_of n_1) (fun (X0:fofType)=> ((in X0) nat))).
% 0.65/0.90  Axiom suc_p:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((is_of (ordsucc X0)) (fun (X1:fofType)=> ((in X1) nat))))).
% 0.65/0.90  Axiom n_ax3:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((nis (ordsucc X0)) n_1))).
% 0.65/0.90  Axiom n_ax4:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> (((n_is (ordsucc X0)) (ordsucc X1))->((n_is X0) X1)))))).
% 1.25/1.46  Definition cond1:=(n_in n_1):(fofType->Prop).
% 1.25/1.46  Definition cond2:=(fun (X0:fofType)=> (n_all (fun (X1:fofType)=> ((imp ((n_in X1) X0)) ((n_in (ordsucc X1)) X0))))):(fofType->Prop).
% 1.25/1.46  Axiom n_ax5:((all_of (fun (X0:fofType)=> ((in X0) (power nat)))) (fun (X0:fofType)=> ((cond1 X0)->((cond2 X0)->((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> ((n_in X1) X0))))))).
% 1.25/1.46  Definition i1_s:=(d_Sep nat):((fofType->Prop)->fofType).
% 1.25/1.46  Axiom satz1:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> (((nis X0) X1)->((nis (ordsucc X0)) (ordsucc X1))))))).
% 1.25/1.46  Definition d_22_prop1:=(fun (X0:fofType)=> ((nis (ordsucc X0)) X0)):(fofType->Prop).
% 1.25/1.46  Axiom satz2:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((nis (ordsucc X0)) X0))).
% 1.25/1.46  Definition d_23_prop1:=(fun (X0:fofType)=> ((l_or ((n_is X0) n_1)) (n_some (fun (X1:fofType)=> ((n_is X0) (ordsucc X1)))))):(fofType->Prop).
% 1.25/1.46  Axiom satz3:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> (((nis X0) n_1)->(n_some (fun (X1:fofType)=> ((n_is X0) (ordsucc X1))))))).
% 1.25/1.46  Trying to prove ((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> (((nis X0) n_1)->(n_one (fun (X1:fofType)=> ((n_is X0) (ordsucc X1)))))))
% 1.25/1.46  --- does not match type in application fofType vs Prop in (((e_in X0) X1) ((all_of (fun X0:fofType=> ((in X0) nat))) (fun X0:fofType=> (forall x:((nis X0) n_1), (n_one (fun X1:fofType=> ((n_is X0) (ordsucc X1))))))))
% 1.25/1.46  ---context
% 1.25/1.46  False:Prop
% 1.25/1.46  False_rect:(forall (P:Type), (False->P))
% 1.25/1.46  I:True
% 1.25/1.46  NNPP:=(fun (P:Prop) (H:(not (not P)))=> ((fun (C:((or P) (not P)))=> ((((((or_ind P) (not P)) P) (fun (H0:P)=> H0)) (fun (N:(not P))=> ((False_rect P) (H N)))) C)) (classic P))):(forall (P:Prop), ((not (not P))->P))
% 1.25/1.46  True:Prop
% 1.25/1.46  _TPTP_proj1:=(fun (X0:fofType)=> (((d_ReplSep X0) (fun (X1:fofType)=> ((ex fofType) (fun (X2:fofType)=> (((eq fofType) (d_Inj1 X2)) X1))))) d_Unj)):(fofType->fofType)
% 1.25/1.46  all:=(fun (X0:fofType)=> (all_of (fun (X1:fofType)=> ((in X1) X0)))):(fofType->((fofType->Prop)->Prop))
% 1.25/1.46  all_of:=(fun (X0:(fofType->Prop)) (X1:(fofType->Prop))=> (forall (X2:fofType), (((is_of X2) X0)->(X1 X2)))):((fofType->Prop)->((fofType->Prop)->Prop))
% 1.25/1.46  amone:=(fun (X0:fofType) (X1:(fofType->Prop))=> ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X0))) (fun (X3:fofType)=> ((X1 X2)->((X1 X3)->(((e_is X0) X2) X3)))))))):(fofType->((fofType->Prop)->Prop))
% 1.25/1.46  and3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((d_and X0) ((d_and X1) X2))):(Prop->(Prop->(Prop->Prop)))
% 1.25/1.46  and:(Prop->(Prop->Prop))
% 1.25/1.46  and_comm_i:=(fun (A:Prop) (B:Prop) (H:((and A) B))=> ((((conj B) A) (((proj2 A) B) H)) (((proj1 A) B) H))):(forall (A:Prop) (B:Prop), (((and A) B)->((and B) A)))
% 1.25/1.46  and_rect:=(fun (A:Prop) (B:Prop) (P:Type) (X:(A->(B->P))) (H:((and A) B))=> ((X (((proj1 A) B) H)) (((proj2 A) B) H))):(forall (A:Prop) (B:Prop) (P:Type), ((A->(B->P))->(((and A) B)->P)))
% 1.25/1.46  anec:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> ((l_some X0) (((ecp X0) X1) X2))):(fofType->((fofType->(fofType->Prop))->(fofType->Prop)))
% 1.25/1.46  ap:=(fun (X0:fofType) (X1:fofType)=> (((d_ReplSep X0) (fun (X2:fofType)=> ((ex fofType) (fun (X3:fofType)=> (((eq fofType) X2) ((pair X1) X3)))))) _TPTP_proj1)):(fofType->(fofType->fofType))
% 1.25/1.46  ap_Pi:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType) (X3:fofType), (((in X2) ((d_Pi X0) X1))->(((in X3) X0)->((in ((ap X2) X3)) (X1 X3)))))
% 1.25/1.46  beta:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) X0)->(((eq fofType) ((ap ((d_Sigma X0) X1)) X2)) (X1 X2))))
% 1.25/1.46  bijective:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_and (((injective X0) X1) X2)) (((surjective X0) X1) X2))):(fofType->(fofType->(fofType->Prop)))
% 1.25/1.46  binunion:=(fun (X0:fofType) (X1:fofType)=> (union ((d_UPair X0) X1))):(fofType->(fofType->fofType))
% 1.25/1.46  changef:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_Sigma X0) (fun (X5:fofType)=> ((ap X2) ((ap (((wissel X0) X3) X4)) X5))))):(fofType->(fofType->(fofType->(fofType->(fofType->fofType)))))
% 1.25/1.46  choice:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (x:(forall (x:A), ((ex B) (fun (y:B)=> ((R x) y)))))=> (((fun (P:Prop) (x0:(forall (x0:(A->(B->Prop))), (((and ((((subrelation A) B) x0) R)) (forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y))))))->P)))=> (((((ex_ind (A->(B->Prop))) (fun (R':(A->(B->Prop)))=> ((and ((((subrelation A) B) R') R)) (forall (x0:A), ((ex B) ((unique B) (fun (y:B)=> ((R' x0) y)))))))) P) x0) ((((relational_choice A) B) R) x))) ((ex (A->B)) (fun (f:(A->B))=> (forall (x0:A), ((R x0) (f x0)))))) (fun (x0:(A->(B->Prop))) (x1:((and ((((subrelation A) B) x0) R)) (forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y)))))))=> (((fun (P:Type) (x2:(((((subrelation A) B) x0) R)->((forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y)))))->P)))=> (((((and_rect ((((subrelation A) B) x0) R)) (forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y)))))) P) x2) x1)) ((ex (A->B)) (fun (f:(A->B))=> (forall (x0:A), ((R x0) (f x0)))))) (fun (x2:((((subrelation A) B) x0) R)) (x3:(forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y))))))=> (((fun (P:Prop) (x4:(forall (x1:(A->B)), ((forall (x10:A), ((x0 x10) (x1 x10)))->P)))=> (((((ex_ind (A->B)) (fun (f:(A->B))=> (forall (x1:A), ((x0 x1) (f x1))))) P) x4) ((((unique_choice A) B) x0) x3))) ((ex (A->B)) (fun (f:(A->B))=> (forall (x0:A), ((R x0) (f x0)))))) (fun (x4:(A->B)) (x5:(forall (x10:A), ((x0 x10) (x4 x10))))=> ((((ex_intro (A->B)) (fun (f:(A->B))=> (forall (x0:A), ((R x0) (f x0))))) x4) (fun (x00:A)=> (((x2 x00) (x4 x00)) (x5 x00))))))))))):(forall (A:Type) (B:Type) (R:(A->(B->Prop))), ((forall (x:A), ((ex B) (fun (y:B)=> ((R x) y))))->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), ((R x) (f x)))))))
% 1.25/1.46  choice_operator:=(fun (A:Type) (a:A)=> ((((classical_choice (A->Prop)) A) (fun (x3:(A->Prop))=> x3)) a)):(forall (A:Type), (A->((ex ((A->Prop)->A)) (fun (co:((A->Prop)->A))=> (forall (P:(A->Prop)), (((ex A) (fun (x:A)=> (P x)))->(P (co P))))))))
% 1.25/1.46  classic:(forall (P:Prop), ((or P) (not P)))
% 1.25/1.46  classical_choice:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (b:B)=> ((fun (C:((forall (x:A), ((ex B) (fun (y:B)=> (((fun (x0:A) (y0:B)=> (((ex B) (fun (z:B)=> ((R x0) z)))->((R x0) y0))) x) y))))->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((fun (x0:A) (y:B)=> (((ex B) (fun (z:B)=> ((R x0) z)))->((R x0) y))) x) (f x)))))))=> (C (fun (x:A)=> ((fun (C0:((or ((ex B) (fun (z:B)=> ((R x) z)))) (not ((ex B) (fun (z:B)=> ((R x) z))))))=> ((((((or_ind ((ex B) (fun (z:B)=> ((R x) z)))) (not ((ex B) (fun (z:B)=> ((R x) z))))) ((ex B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y))))) ((((ex_ind B) (fun (z:B)=> ((R x) z))) ((ex B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y))))) (fun (y:B) (H:((R x) y))=> ((((ex_intro B) (fun (y0:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y0)))) y) (fun (_:((ex B) (fun (z:B)=> ((R x) z))))=> H))))) (fun (N:(not ((ex B) (fun (z:B)=> ((R x) z)))))=> ((((ex_intro B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y)))) b) (fun (H:((ex B) (fun (z:B)=> ((R x) z))))=> ((False_rect ((R x) b)) (N H)))))) C0)) (classic ((ex B) (fun (z:B)=> ((R x) z)))))))) (((choice A) B) (fun (x:A) (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y)))))):(forall (A:Type) (B:Type) (R:(A->(B->Prop))), (B->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((ex B) (fun (y:B)=> ((R x) y)))->((R x) (f x))))))))
% 1.25/1.46  cond1:=(n_in n_1):(fofType->Prop)
% 1.25/1.46  cond2:=(fun (X0:fofType)=> (n_all (fun (X1:fofType)=> ((imp ((n_in X1) X0)) ((n_in (ordsucc X1)) X0))))):(fofType->Prop)
% 1.25/1.46  conj:(forall (A:Prop) (B:Prop), (A->(B->((and A) B))))
% 1.25/1.46  d_10_prop1:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType) (X5:fofType) (X6:fofType)=> ((d_and (((esti X0) X6) (((ecect X0) X1) X4))) (((e_is X2) ((ap X3) X6)) X5))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->(fofType->Prop)))))))
% 1.25/1.46  d_11_i:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> (((indeq X0) X1) ((d_Pi X0) (fun (X3:fofType)=> X2)))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->fofType)))))
% 1.25/1.46  d_22_prop1:=(fun (X0:fofType)=> ((nis (ordsucc X0)) X0)):(fofType->Prop)
% 1.25/1.46  d_23_prop1:=(fun (X0:fofType)=> ((l_or ((n_is X0) n_1)) (n_some (fun (X1:fofType)=> ((n_is X0) (ordsucc X1)))))):(fofType->Prop)
% 1.25/1.46  d_In_rec:=(fun (X0:(fofType->((fofType->fofType)->fofType))) (X1:fofType)=> (eps ((d_In_rec_G X0) X1))):((fofType->((fofType->fofType)->fofType))->(fofType->fofType))
% 1.25/1.46  d_In_rec_G:=(fun (X0:(fofType->((fofType->fofType)->fofType))) (X1:fofType) (X2:fofType)=> (forall (X3:(fofType->(fofType->Prop))), ((forall (X4:fofType) (X5:(fofType->fofType)), ((forall (X6:fofType), (((in X6) X4)->((X3 X6) (X5 X6))))->((X3 X4) ((X0 X4) X5))))->((X3 X1) X2)))):((fofType->((fofType->fofType)->fofType))->(fofType->(fofType->Prop)))
% 1.25/1.46  d_Inj0:=(fun (X0:fofType)=> ((repl X0) d_Inj1)):(fofType->fofType)
% 1.25/1.46  d_Inj1:=(d_In_rec (fun (X0:fofType) (X1:(fofType->fofType))=> ((binunion (d_Sing emptyset)) ((repl X0) X1)))):(fofType->fofType)
% 1.25/1.46  d_Pi:=(fun (X0:fofType) (X1:(fofType->fofType))=> ((d_Sep (power ((d_Sigma X0) (fun (X2:fofType)=> (union (X1 X2)))))) (fun (X2:fofType)=> (forall (X3:fofType), (((in X3) X0)->((in ((ap X2) X3)) (X1 X3))))))):(fofType->((fofType->fofType)->fofType))
% 1.25/1.46  d_Power_closed:=(fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->((in (power X1)) X0)))):(fofType->Prop)
% 1.25/1.46  d_ReplSep:=(fun (X0:fofType) (X1:(fofType->Prop))=> (repl ((d_Sep X0) X1))):(fofType->((fofType->Prop)->((fofType->fofType)->fofType)))
% 1.25/1.46  d_Repl_closed:=(fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->(forall (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X1)->((in (X2 X3)) X0)))->((in ((repl X1) X2)) X0)))))):(fofType->Prop)
% 1.25/1.46  d_Sep:=(fun (X0:fofType) (X1:(fofType->Prop))=> (((if ((ex fofType) (fun (X2:fofType)=> ((and ((in X2) X0)) (X1 X2))))) ((repl X0) (fun (X2:fofType)=> (((if (X1 X2)) X2) (eps (fun (X3:fofType)=> ((and ((in X3) X0)) (X1 X3)))))))) emptyset)):(fofType->((fofType->Prop)->fofType))
% 1.25/1.46  d_Sigma:=(fun (X0:fofType) (X1:(fofType->fofType))=> ((famunion X0) (fun (X2:fofType)=> ((repl (X1 X2)) (pair X2))))):(fofType->((fofType->fofType)->fofType))
% 1.25/1.46  d_Sing:=(fun (X0:fofType)=> ((d_UPair X0) X0)):(fofType->fofType)
% 1.25/1.46  d_Subq:=(fun (X0:fofType) (X1:fofType)=> (forall (X2:fofType), (((in X2) X0)->((in X2) X1)))):(fofType->(fofType->Prop))
% 1.25/1.46  d_UPair:=(fun (X0:fofType) (X1:fofType)=> ((repl (power (power emptyset))) (fun (X2:fofType)=> (((if ((in emptyset) X2)) X0) X1)))):(fofType->(fofType->fofType))
% 1.25/1.46  d_Union_closed:=(fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->((in (union X1)) X0)))):(fofType->Prop)
% 1.25/1.46  d_Unj:=(d_In_rec (fun (X0:fofType)=> (repl ((setminus X0) (d_Sing emptyset))))):(fofType->fofType)
% 1.25/1.46  d_ZF_closed:=(fun (X0:fofType)=> ((and ((and (d_Union_closed X0)) (d_Power_closed X0))) (d_Repl_closed X0))):(fofType->Prop)
% 1.25/1.46  d_and:=(fun (X0:Prop) (X1:Prop)=> (d_not ((l_ec X0) X1))):(Prop->(Prop->Prop))
% 1.25/1.46  d_not:=(fun (X0:Prop)=> ((imp X0) False)):(Prop->Prop)
% 1.25/1.46  d_pair:=(fun (X0:fofType) (X1:fofType)=> pair):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.25/1.46  dependent_unique_choice:(forall (A:Type) (B:(A->Type)) (R:(forall (x:A), ((B x)->Prop))), ((forall (x:A), ((ex (B x)) ((unique (B x)) (fun (y:(B x))=> ((R x) y)))))->((ex (forall (x:A), (B x))) (fun (f:(forall (x:A), (B x)))=> (forall (x:A), ((R x) (f x)))))))
% 1.25/1.46  e_fisi:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Pi X0) (fun (X3:fofType)=> X1))))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) ((d_Pi X0) (fun (X4:fofType)=> X1))))) (fun (X3:fofType)=> (((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> (((e_is X1) ((ap X2) X4)) ((ap X3) X4))))->(((e_is ((d_Pi X0) (fun (X4:fofType)=> X1))) X2) X3)))))))
% 1.25/1.46  e_in:=(fun (X0:fofType) (X1:(fofType->Prop)) (X2:fofType)=> X2):(fofType->((fofType->Prop)->(fofType->fofType)))
% 1.25/1.46  e_in_p:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Sep X0) X1)))) (fun (X2:fofType)=> ((is_of (((e_in X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X0))))))
% 1.25/1.46  e_inp:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Sep X0) X1)))) (fun (X2:fofType)=> (X1 (((e_in X0) X1) X2)))))
% 1.25/1.46  e_is:=(fun (X0:fofType) (X:fofType) (Y:fofType)=> (((eq fofType) X) Y)):(fofType->(fofType->(fofType->Prop)))
% 1.25/1.46  e_isp:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X0))) (fun (X3:fofType)=> ((X1 X2)->((((e_is X0) X2) X3)->(X1 X3))))))))
% 1.25/1.46  e_pair_p:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> ((is_of ((((d_pair X0) X1) X2) X3)) (fun (X4:fofType)=> ((in X4) ((setprod X0) X1)))))))))
% 1.25/1.46  ec3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> (((and3 ((l_ec X0) X1)) ((l_ec X1) X2)) ((l_ec X2) X0))):(Prop->(Prop->(Prop->Prop)))
% 1.25/1.46  ecect:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((e_in (power X0)) ((anec X0) X1))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 1.25/1.46  ecelt:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> ((d_Sep X0) (X1 X2))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 1.25/1.46  ecp:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> (((e_is (power X0)) X2) (((ecelt X0) X1) X3))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))
% 1.25/1.46  ect:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((d_Sep (power X0)) ((anec X0) X1))):(fofType->((fofType->(fofType->Prop))->fofType))
% 1.25/1.46  ectelt:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> (((ectset X0) X1) (((ecelt X0) X1) X2))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 1.25/1.46  ectset:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((out (power X0)) ((anec X0) X1))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 1.25/1.46  empty:=(fun (X0:fofType) (X1:fofType)=> ((all_of (fun (X2:fofType)=> ((in X2) X0))) ((non X0) (fun (X2:fofType)=> (((esti X0) X2) X1))))):(fofType->(fofType->Prop))
% 1.25/1.46  emptyset:fofType
% 1.25/1.46  eps:((fofType->Prop)->fofType)
% 1.25/1.46  eq:=(fun (T:Type) (a:T) (b:T)=> (forall (P:(T->Prop)), ((P a)->(P b)))):(forall (T:Type), (T->(T->Prop)))
% 1.25/1.46  eq_ref:=(fun (T:Type) (a:T) (P:(T->Prop)) (x:(P a))=> x):(forall (T:Type) (a:T), (((eq T) a) a))
% 1.25/1.46  eq_stepl:=(fun (T:Type) (a:T) (b:T) (c:T) (X:(((eq T) a) b)) (Y:(((eq T) a) c))=> ((((((eq_trans T) c) a) b) ((((eq_sym T) a) c) Y)) X)):(forall (T:Type) (a:T) (b:T) (c:T), ((((eq T) a) b)->((((eq T) a) c)->(((eq T) c) b))))
% 1.25/1.46  eq_substitution:=(fun (T:Type) (U:Type) (a:T) (b:T) (f:(T->U)) (H:(((eq T) a) b))=> ((H (fun (x:T)=> (((eq U) (f a)) (f x)))) ((eq_ref U) (f a)))):(forall (T:Type) (U:Type) (a:T) (b:T) (f:(T->U)), ((((eq T) a) b)->(((eq U) (f a)) (f b))))
% 1.25/1.46  eq_sym:=(fun (T:Type) (a:T) (b:T) (H:(((eq T) a) b))=> ((H (fun (x:T)=> (((eq T) x) a))) ((eq_ref T) a))):(forall (T:Type) (a:T) (b:T), ((((eq T) a) b)->(((eq T) b) a)))
% 1.25/1.46  eq_trans:=(fun (T:Type) (a:T) (b:T) (c:T) (X:(((eq T) a) b)) (Y:(((eq T) b) c))=> ((Y (fun (t:T)=> (((eq T) a) t))) X)):(forall (T:Type) (a:T) (b:T) (c:T), ((((eq T) a) b)->((((eq T) b) c)->(((eq T) a) c))))
% 1.25/1.46  esti:=(fun (X0:fofType)=> in):(fofType->(fofType->(fofType->Prop)))
% 1.25/1.46  estie:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((((esti X0) X2) ((d_Sep X0) X1))->(X1 X2)))))
% 1.25/1.46  estii:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((X1 X2)->(((esti X0) X2) ((d_Sep X0) X1))))))
% 1.25/1.46  eta_expansion:=(fun (A:Type) (B:Type)=> ((eta_expansion_dep A) (fun (x1:A)=> B))):(forall (A:Type) (B:Type) (f:(A->B)), (((eq (A->B)) f) (fun (x:A)=> (f x))))
% 1.25/1.46  eta_expansion_dep:=(fun (A:Type) (B:(A->Type)) (f:(forall (x:A), (B x)))=> (((((functional_extensionality_dep A) (fun (x1:A)=> (B x1))) f) (fun (x:A)=> (f x))) (fun (x:A) (P:((B x)->Prop)) (x0:(P (f x)))=> x0))):(forall (A:Type) (B:(A->Type)) (f:(forall (x:A), (B x))), (((eq (forall (x:A), (B x))) f) (fun (x:A)=> (f x))))
% 1.25/1.46  ex:(forall (A:Type), ((A->Prop)->Prop))
% 1.25/1.46  ex_ind:(forall (A:Type) (F:(A->Prop)) (P:Prop), ((forall (x:A), ((F x)->P))->(((ex A) F)->P)))
% 1.25/1.46  ex_intro:(forall (A:Type) (P:(A->Prop)) (x:A), ((P x)->((ex A) P)))
% 1.25/1.46  famunion:=(fun (X0:fofType) (X1:(fofType->fofType))=> (union ((repl X0) X1))):(fofType->((fofType->fofType)->fofType))
% 1.25/1.46  first:=(fun (X0:fofType) (X1:fofType)=> proj0):(fofType->(fofType->(fofType->fofType)))
% 1.25/1.46  first_p:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> ((is_of (((first X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X0))))))
% 1.25/1.46  firstis1:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> (((e_is X0) (((first X0) X1) ((((d_pair X0) X1) X2) X3))) X2))))))
% 1.25/1.46  fixfu2:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> ((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> ((all_of (fun (X5:fofType)=> ((in X5) X0))) (fun (X5:fofType)=> ((all_of (fun (X6:fofType)=> ((in X6) X0))) (fun (X6:fofType)=> ((all_of (fun (X7:fofType)=> ((in X7) X0))) (fun (X7:fofType)=> (((X1 X4) X5)->(((X1 X6) X7)->(((e_is X2) ((ap ((ap X3) X4)) X6)) ((ap ((ap X3) X5)) X7))))))))))))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))
% 1.25/1.46  fixfu:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> ((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> ((all_of (fun (X5:fofType)=> ((in X5) X0))) (fun (X5:fofType)=> (((X1 X4) X5)->(((e_is X2) ((ap X3) X4)) ((ap X3) X5)))))))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))
% 1.25/1.46  fofType:Type
% 1.25/1.46  functional_extensionality:=(fun (A:Type) (B:Type)=> ((functional_extensionality_dep A) (fun (x1:A)=> B))):(forall (A:Type) (B:Type) (f:(A->B)) (g:(A->B)), ((forall (x:A), (((eq B) (f x)) (g x)))->(((eq (A->B)) f) g)))
% 1.25/1.46  functional_extensionality_dep:(forall (A:Type) (B:(A->Type)) (f:(forall (x:A), (B x))) (g:(forall (x:A), (B x))), ((forall (x:A), (((eq (B x)) (f x)) (g x)))->(((eq (forall (x:A), (B x))) f) g)))
% 1.25/1.46  functional_extensionality_double:=(fun (A:Type) (B:Type) (C:Type) (f:(A->(B->C))) (g:(A->(B->C))) (x:(forall (x:A) (y:B), (((eq C) ((f x) y)) ((g x) y))))=> (((((functional_extensionality_dep A) (fun (x2:A)=> (B->C))) f) g) (fun (x0:A)=> (((((functional_extensionality_dep B) (fun (x3:B)=> C)) (f x0)) (g x0)) (x x0))))):(forall (A:Type) (B:Type) (C:Type) (f:(A->(B->C))) (g:(A->(B->C))), ((forall (x:A) (y:B), (((eq C) ((f x) y)) ((g x) y)))->(((eq (A->(B->C))) f) g)))
% 1.25/1.46  i1_s:=(d_Sep nat):((fofType->Prop)->fofType)
% 1.25/1.46  if:=(fun (X0:Prop) (X1:fofType) (X2:fofType)=> (eps (fun (X3:fofType)=> ((or ((and X0) (((eq fofType) X3) X1))) ((and (X0->False)) (((eq fofType) X3) X2)))))):(Prop->(fofType->(fofType->fofType)))
% 1.25/1.46  if_i_0:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((X0->False)->(((eq fofType) (((if X0) X1) X2)) X2)))
% 1.25/1.46  if_i_1:(forall (X0:Prop) (X1:fofType) (X2:fofType), (X0->(((eq fofType) (((if X0) X1) X2)) X1)))
% 1.25/1.46  if_i_correct:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((or ((and X0) (((eq fofType) (((if X0) X1) X2)) X1))) ((and (X0->False)) (((eq fofType) (((if X0) X1) X2)) X2))))
% 1.25/1.46  if_i_or:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((or (((eq fofType) (((if X0) X1) X2)) X1)) (((eq fofType) (((if X0) X1) X2)) X2)))
% 1.25/1.46  iff:=(fun (A:Prop) (B:Prop)=> ((and (A->B)) (B->A))):(Prop->(Prop->Prop))
% 1.25/1.46  iff_refl:=(fun (A:Prop)=> ((((conj (A->A)) (A->A)) (fun (H:A)=> H)) (fun (H:A)=> H))):(forall (P:Prop), ((iff P) P))
% 1.25/1.46  iff_sym:=(fun (A:Prop) (B:Prop) (H:((iff A) B))=> ((((conj (B->A)) (A->B)) (((proj2 (A->B)) (B->A)) H)) (((proj1 (A->B)) (B->A)) H))):(forall (A:Prop) (B:Prop), (((iff A) B)->((iff B) A)))
% 1.25/1.46  iff_trans:=(fun (A:Prop) (B:Prop) (C:Prop) (AB:((iff A) B)) (BC:((iff B) C))=> ((((conj (A->C)) (C->A)) (fun (x:A)=> ((((proj1 (B->C)) (C->B)) BC) ((((proj1 (A->B)) (B->A)) AB) x)))) (fun (x:C)=> ((((proj2 (A->B)) (B->A)) AB) ((((proj2 (B->C)) (C->B)) BC) x))))):(forall (A:Prop) (B:Prop) (C:Prop), (((iff A) B)->(((iff B) C)->((iff A) C))))
% 1.25/1.46  image:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((l_some X0) (fun (X4:fofType)=> (((e_is X1) X3) ((ap X2) X4))))):(fofType->(fofType->(fofType->(fofType->Prop))))
% 1.25/1.46  imp:=(fun (X0:Prop) (X1:Prop)=> (X0->X1)):(Prop->(Prop->Prop))
% 1.25/1.46  in:(fofType->(fofType->Prop))
% 1.25/1.46  incl:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((imp (((esti X0) X3) X1)) (((esti X0) X3) X2))))):(fofType->(fofType->(fofType->Prop)))
% 1.25/1.46  ind:=(fun (X0:fofType) (X1:(fofType->Prop))=> (eps (fun (X2:fofType)=> ((and ((in X2) X0)) (X1 X2))))):(fofType->((fofType->Prop)->fofType))
% 1.25/1.46  ind_p:(forall (X0:fofType) (X1:(fofType->Prop)), (((one X0) X1)->((is_of ((ind X0) X1)) (fun (X2:fofType)=> ((in X2) X0)))))
% 1.25/1.46  indeq2:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType)=> ((((indeq X0) X1) X2) (((((d_11_i X0) X1) X2) X3) X4))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->fofType))))))
% 1.25/1.46  indeq:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType)=> ((ind X2) (((((prop2 X0) X1) X2) X3) X4))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->fofType)))))
% 1.25/1.46  inj_h:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_Sigma X0) (fun (X5:fofType)=> ((ap X4) ((ap X3) X5))))):(fofType->(fofType->(fofType->(fofType->(fofType->fofType)))))
% 1.25/1.46  injective:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((all X0) (fun (X4:fofType)=> ((imp (((e_is X1) ((ap X2) X3)) ((ap X2) X4))) (((e_is X0) X3) X4))))))):(fofType->(fofType->(fofType->Prop)))
% 1.25/1.46  inverse:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X1) (fun (X3:fofType)=> (((if ((((image X0) X1) X2) X3)) ((((soft X0) X1) X2) X3)) emptyset)))):(fofType->(fofType->(fofType->fofType)))
% 1.25/1.46  invf:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X1) (((soft X0) X1) X2))):(fofType->(fofType->(fofType->fofType)))
% 1.25/1.46  is_of:=(fun (X0:fofType) (X1:(fofType->Prop))=> (X1 X0)):(fofType->((fofType->Prop)->Prop))
% 1.25/1.46  isseti:(forall (X0:fofType), ((all_of (fun (X1:fofType)=> ((in X1) (power X0)))) (fun (X1:fofType)=> ((all_of (fun (X2:fofType)=> ((in X2) (power X0)))) (fun (X2:fofType)=> ((((incl X0) X1) X2)->((((incl X0) X2) X1)->(((e_is (power X0)) X1) X2))))))))
% 1.25/1.46  ite:=(fun (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType)=> ((ind X1) ((((prop1 X0) X1) X2) X3))):(Prop->(fofType->(fofType->(fofType->fofType))))
% 1.25/1.46  k_EmptyAx:(((ex fofType) (fun (X0:fofType)=> ((in X0) emptyset)))->False)
% 1.25/1.46  k_If_In_01:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((X0->((in X1) X2))->((in (((if X0) X1) emptyset)) (((if X0) X2) (ordsucc emptyset)))))
% 1.25/1.46  k_If_In_then_E:(forall (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType), (X0->(((in X1) (((if X0) X2) X3))->((in X1) X2))))
% 1.25/1.46  k_In_0_1:((in emptyset) (ordsucc emptyset))
% 1.25/1.46  k_In_ind:(forall (X0:(fofType->Prop)), ((forall (X1:fofType), ((forall (X2:fofType), (((in X2) X1)->(X0 X2)))->(X0 X1)))->(forall (X1:fofType), (X0 X1))))
% 1.25/1.46  k_Pi_ext:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Pi X0) X1))->(forall (X3:fofType), (((in X3) ((d_Pi X0) X1))->((forall (X4:fofType), (((in X4) X0)->(((eq fofType) ((ap X2) X4)) ((ap X3) X4))))->(((eq fofType) X2) X3))))))
% 1.25/1.46  k_PowerE:(forall (X0:fofType) (X1:fofType), (((in X1) (power X0))->((d_Subq X1) X0)))
% 1.25/1.46  k_PowerEq:(forall (X0:fofType) (X1:fofType), ((iff ((in X1) (power X0))) ((d_Subq X1) X0)))
% 1.25/1.46  k_PowerI:(forall (X0:fofType) (X1:fofType), (((d_Subq X1) X0)->((in X1) (power X0))))
% 1.25/1.46  k_ReplEq:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), ((iff ((in X2) ((repl X0) X1))) ((ex fofType) (fun (X3:fofType)=> ((and ((in X3) X0)) (((eq fofType) X2) (X1 X3)))))))
% 1.25/1.46  k_Self_In_Power:(forall (X0:fofType), ((in X0) (power X0)))
% 1.25/1.46  k_SepE1:(forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) ((d_Sep X0) X1))->((in X2) X0)))
% 1.25/1.46  k_SepE2:(forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) ((d_Sep X0) X1))->(X1 X2)))
% 1.25/1.46  k_SepI:(forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) X0)->((X1 X2)->((in X2) ((d_Sep X0) X1)))))
% 1.25/1.46  k_Sigma_eta_proj0_proj1:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((and ((and (((eq fofType) ((pair (proj0 X2)) (_TPTP_proj1 X2))) X2)) ((in (proj0 X2)) X0))) ((in (_TPTP_proj1 X2)) (X1 (proj0 X2))))))
% 1.25/1.46  k_UnionEq:(forall (X0:fofType) (X1:fofType), ((iff ((in X1) (union X0))) ((ex fofType) (fun (X2:fofType)=> ((and ((in X1) X2)) ((in X2) X0))))))
% 1.25/1.46  k_UnivOf_In:(forall (X0:fofType), ((in X0) (univof X0)))
% 1.25/1.46  k_UnivOf_ZF_closed:(forall (X0:fofType), (d_ZF_closed (univof X0)))
% 1.25/1.46  l_ec:=(fun (X0:Prop) (X1:Prop)=> ((imp X0) (d_not X1))):(Prop->(Prop->Prop))
% 1.25/1.46  l_et:(forall (X0:Prop), ((wel X0)->X0))
% 1.25/1.46  l_iff:=(fun (X0:Prop) (X1:Prop)=> ((d_and ((imp X0) X1)) ((imp X1) X0))):(Prop->(Prop->Prop))
% 1.25/1.46  l_or:=(fun (X0:Prop)=> (imp (d_not X0))):(Prop->(Prop->Prop))
% 1.25/1.46  l_some:=(fun (X0:fofType) (X1:(fofType->Prop))=> (d_not ((all_of (fun (X2:fofType)=> ((in X2) X0))) ((non X0) X1)))):(fofType->((fofType->Prop)->Prop))
% 1.25/1.46  lam_Pi:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X0)->((in (X2 X3)) (X1 X3))))->((in ((d_Sigma X0) X2)) ((d_Pi X0) X1))))
% 1.25/1.46  nIn:=(fun (X0:fofType) (X1:fofType)=> (((in X0) X1)->False)):(fofType->(fofType->Prop))
% 1.25/1.46  n_1:=(ordsucc emptyset):fofType
% 1.25/1.46  n_1_p:((is_of n_1) (fun (X0:fofType)=> ((in X0) nat)))
% 1.25/1.46  n_all:=(all nat):((fofType->Prop)->Prop)
% 1.25/1.46  n_ax3:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((nis (ordsucc X0)) n_1)))
% 1.25/1.46  n_ax4:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> (((n_is (ordsucc X0)) (ordsucc X1))->((n_is X0) X1))))))
% 1.25/1.46  n_ax5:((all_of (fun (X0:fofType)=> ((in X0) (power nat)))) (fun (X0:fofType)=> ((cond1 X0)->((cond2 X0)->((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> ((n_in X1) X0)))))))
% 1.25/1.46  n_in:=(esti nat):(fofType->(fofType->Prop))
% 1.25/1.46  n_is:=(e_is nat):(fofType->(fofType->Prop))
% 1.25/1.46  n_one:=(one nat):((fofType->Prop)->Prop)
% 1.25/1.46  n_some:=(l_some nat):((fofType->Prop)->Prop)
% 1.25/1.46  nat:=((d_Sep omega) (fun (X0:fofType)=> (not (((eq fofType) X0) emptyset)))):fofType
% 1.25/1.46  nat_1:(nat_p (ordsucc emptyset))
% 1.25/1.46  nat_ind:(forall (X0:(fofType->Prop)), ((X0 emptyset)->((forall (X1:fofType), ((nat_p X1)->((X0 X1)->(X0 (ordsucc X1)))))->(forall (X1:fofType), ((nat_p X1)->(X0 X1))))))
% 1.25/1.46  nat_inv:(forall (X0:fofType), ((nat_p X0)->((or (((eq fofType) X0) emptyset)) ((ex fofType) (fun (X1:fofType)=> ((and (nat_p X1)) (((eq fofType) X0) (ordsucc X1))))))))
% 1.25/1.46  nat_ordsucc:(forall (X0:fofType), ((nat_p X0)->(nat_p (ordsucc X0))))
% 1.25/1.46  nat_p:=(fun (X0:fofType)=> (forall (X1:(fofType->Prop)), ((X1 emptyset)->((forall (X2:fofType), ((X1 X2)->(X1 (ordsucc X2))))->(X1 X0))))):(fofType->Prop)
% 1.25/1.46  nat_p_omega:(forall (X0:fofType), ((nat_p X0)->((in X0) omega)))
% 1.25/1.46  neq_ordsucc_0:(forall (X0:fofType), (not (((eq fofType) (ordsucc X0)) emptyset)))
% 1.25/1.46  nis:=(fun (X0:fofType) (X1:fofType)=> (d_not ((n_is X0) X1))):(fofType->(fofType->Prop))
% 1.25/1.46  nissetprop:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((d_and (((esti X0) X3) X1)) (d_not (((esti X0) X3) X2)))):(fofType->(fofType->(fofType->(fofType->Prop))))
% 1.25/1.46  non:=(fun (X0:fofType) (X1:(fofType->Prop)) (X2:fofType)=> (d_not (X1 X2))):(fofType->((fofType->Prop)->(fofType->Prop)))
% 1.25/1.46  nonempty:=(fun (X0:fofType) (X1:fofType)=> ((l_some X0) (fun (X2:fofType)=> (((esti X0) X2) X1)))):(fofType->(fofType->Prop))
% 1.25/1.46  not:=(fun (P:Prop)=> (P->False)):(Prop->Prop)
% 1.25/1.46  obvious:=((imp False) False):Prop
% 1.25/1.46  omega:=((d_Sep (univof emptyset)) nat_p):fofType
% 1.25/1.46  omega_nat_p:(forall (X0:fofType), (((in X0) omega)->(nat_p X0)))
% 1.25/1.46  one:=(fun (X0:fofType) (X1:(fofType->Prop))=> ((d_and ((amone X0) X1)) ((l_some X0) X1))):(fofType->((fofType->Prop)->Prop))
% 1.25/1.46  oneax:(forall (X0:fofType) (X1:(fofType->Prop)), (((one X0) X1)->(X1 ((ind X0) X1))))
% 1.25/1.46  or3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((l_or X0) ((l_or X1) X2))):(Prop->(Prop->(Prop->Prop)))
% 1.25/1.46  or:(Prop->(Prop->Prop))
% 1.25/1.46  or_comm_i:=(fun (A:Prop) (B:Prop) (H:((or A) B))=> ((((((or_ind A) B) ((or B) A)) ((or_intror B) A)) ((or_introl B) A)) H)):(forall (A:Prop) (B:Prop), (((or A) B)->((or B) A)))
% 1.25/1.46  or_first:=(fun (A:Prop) (B:Prop)=> (((((or_ind A) B) ((B->A)->A)) (fun (x:A) (x0:(B->A))=> x)) (fun (x:B) (x0:(B->A))=> (x0 x)))):(forall (A:Prop) (B:Prop), (((or A) B)->((B->A)->A)))
% 1.25/1.46  or_ind:(forall (A:Prop) (B:Prop) (P:Prop), ((A->P)->((B->P)->(((or A) B)->P))))
% 1.25/1.46  or_introl:(forall (A:Prop) (B:Prop), (A->((or A) B)))
% 1.25/1.46  or_intror:(forall (A:Prop) (B:Prop), (B->((or A) B)))
% 1.25/1.46  or_second:=(fun (A:Prop) (B:Prop) (x:((or A) B))=> (((or_first B) A) (((or_comm_i A) B) x))):(forall (A:Prop) (B:Prop), (((or A) B)->((A->B)->B)))
% 1.25/1.46  ordsucc:=(fun (X0:fofType)=> ((binunion X0) (d_Sing X0))):(fofType->fofType)
% 1.25/1.46  ordsucc_inj:(forall (X0:fofType) (X1:fofType), ((((eq fofType) (ordsucc X0)) (ordsucc X1))->(((eq fofType) X0) X1)))
% 1.25/1.46  orec3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((d_and (((or3 X0) X1) X2)) (((ec3 X0) X1) X2))):(Prop->(Prop->(Prop->Prop)))
% 1.25/1.46  orec:=(fun (X0:Prop) (X1:Prop)=> ((d_and ((l_or X0) X1)) ((l_ec X0) X1))):(Prop->(Prop->Prop))
% 1.25/1.46  otax1:(forall (X0:fofType) (X1:(fofType->Prop)), (((injective ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1))))
% 1.25/1.46  otax2:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((X1 X2)->((((image ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1))) X2)))))
% 1.25/1.46  out:=(fun (X0:fofType) (X1:(fofType->Prop))=> (((soft ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1)))):(fofType->((fofType->Prop)->(fofType->fofType)))
% 1.25/1.46  pair:=(fun (X0:fofType) (X1:fofType)=> ((binunion ((repl X0) d_Inj0)) ((repl X1) d_Inj1))):(fofType->(fofType->fofType))
% 1.25/1.46  pair_Sigma:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) X0)->(forall (X3:fofType), (((in X3) (X1 X2))->((in ((pair X2) X3)) ((d_Sigma X0) X1))))))
% 1.25/1.46  pair_p:=(fun (X0:fofType)=> (((eq fofType) ((pair ((ap X0) emptyset)) ((ap X0) (ordsucc emptyset)))) X0)):(fofType->Prop)
% 1.25/1.46  pairis1:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> (((e_is ((setprod X0) X1)) ((((d_pair X0) X1) (((first X0) X1) X2)) (((second X0) X1) X2))) X2))))
% 1.25/1.46  power:(fofType->fofType)
% 1.25/1.46  proj0:=(fun (X0:fofType)=> (((d_ReplSep X0) (fun (X1:fofType)=> ((ex fofType) (fun (X2:fofType)=> (((eq fofType) (d_Inj0 X2)) X1))))) d_Unj)):(fofType->fofType)
% 1.25/1.46  proj0_Sigma:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((in (proj0 X2)) X0)))
% 1.25/1.46  proj0_pair_eq:(forall (X0:fofType) (X1:fofType), (((eq fofType) (proj0 ((pair X0) X1))) X0))
% 1.25/1.46  proj1:(forall (A:Prop) (B:Prop), (((and A) B)->A))
% 1.25/1.46  proj1_Sigma:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((in (_TPTP_proj1 X2)) (X1 (proj0 X2)))))
% 1.25/1.46  proj1_pair_eq:(forall (X0:fofType) (X1:fofType), (((eq fofType) (_TPTP_proj1 ((pair X0) X1))) X1))
% 1.25/1.46  proj2:(forall (A:Prop) (B:Prop), (((and A) B)->B))
% 1.25/1.46  proj_Sigma_eta:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->(((eq fofType) ((pair (proj0 X2)) (_TPTP_proj1 X2))) X2)))
% 1.25/1.46  prop1:=(fun (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_and ((imp X0) (((e_is X1) X4) X2))) ((imp (d_not X0)) (((e_is X1) X4) X3)))):(Prop->(fofType->(fofType->(fofType->(fofType->Prop)))))
% 1.25/1.46  prop2:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType) (X5:fofType)=> ((l_some X0) ((((((d_10_prop1 X0) X1) X2) X3) X4) X5))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->Prop))))))
% 1.25/1.46  r_ec:=(fun (X0:Prop) (X1:Prop)=> (X0->(d_not X1))):(Prop->(Prop->Prop))
% 1.25/1.46  refis:(forall (X0:fofType), ((all_of (fun (X1:fofType)=> ((in X1) X0))) (fun (X1:fofType)=> (((e_is X0) X1) X1))))
% 1.25/1.46  relational_choice:(forall (A:Type) (B:Type) (R:(A->(B->Prop))), ((forall (x:A), ((ex B) (fun (y:B)=> ((R x) y))))->((ex (A->(B->Prop))) (fun (R':(A->(B->Prop)))=> ((and ((((subrelation A) B) R') R)) (forall (x:A), ((ex B) ((unique B) (fun (y:B)=> ((R' x) y))))))))))
% 1.25/1.46  repl:(fofType->((fofType->fofType)->fofType))
% 1.25/1.46  satz1:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> (((nis X0) X1)->((nis (ordsucc X0)) (ordsucc X1)))))))
% 1.25/1.46  satz2:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((nis (ordsucc X0)) X0)))
% 1.25/1.46  satz3:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> (((nis X0) n_1)->(n_some (fun (X1:fofType)=> ((n_is X0) (ordsucc X1)))))))
% 1.25/1.48  second:=(fun (X0:fofType) (X1:fofType)=> _TPTP_proj1):(fofType->(fofType->(fofType->fofType)))
% 1.25/1.48  second_p:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> ((is_of (((second X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X1))))))
% 1.25/1.48  secondis1:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> (((e_is X1) (((second X0) X1) ((((d_pair X0) X1) X2) X3))) X3))))))
% 1.25/1.48  set_ext:(forall (X0:fofType) (X1:fofType), (((d_Subq X0) X1)->(((d_Subq X1) X0)->(((eq fofType) X0) X1))))
% 1.25/1.48  setminus:=(fun (X0:fofType) (X1:fofType)=> ((d_Sep X0) (fun (X2:fofType)=> ((nIn X2) X1)))):(fofType->(fofType->fofType))
% 1.25/1.48  setof_p:(forall (X0:fofType) (X1:(fofType->Prop)), ((is_of ((d_Sep X0) X1)) (fun (X2:fofType)=> ((in X2) (power X0)))))
% 1.25/1.48  setprod:=(fun (X0:fofType) (X1:fofType)=> ((d_Sigma X0) (fun (X2:fofType)=> X1))):(fofType->(fofType->fofType))
% 1.25/1.48  soft:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((ind X0) (fun (X4:fofType)=> (((e_is X1) X3) ((ap X2) X4))))):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.25/1.48  st_disj:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((l_ec (((esti X0) X3) X1)) (((esti X0) X3) X2))))):(fofType->(fofType->(fofType->Prop)))
% 1.25/1.48  subrelation:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (R':(A->(B->Prop)))=> (forall (x:A) (y:B), (((R x) y)->((R' x) y)))):(forall (A:Type) (B:Type), ((A->(B->Prop))->((A->(B->Prop))->Prop)))
% 1.25/1.48  suc_p:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((is_of (ordsucc X0)) (fun (X1:fofType)=> ((in X1) nat)))))
% 1.25/1.48  surjective:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X1) (((image X0) X1) X2))):(fofType->(fofType->(fofType->Prop)))
% 1.25/1.48  tofs:=(fun (X0:fofType) (X1:fofType)=> ap):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.25/1.48  union:(fofType->fofType)
% 1.25/1.48  unique:=(fun (A:Type) (P:(A->Prop)) (x:A)=> ((and (P x)) (forall (x':A), ((P x')->(((eq A) x) x'))))):(forall (A:Type), ((A->Prop)->(A->Prop)))
% 1.25/1.48  unique_choice:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (x:(forall (x:A), ((ex B) ((unique B) (fun (y:B)=> ((R x) y))))))=> ((((dependent_unique_choice A) (fun (x2:A)=> B)) R) x)):(forall (A:Type) (B:Type) (R:(A->(B->Prop))), ((forall (x:A), ((ex B) ((unique B) (fun (y:B)=> ((R x) y)))))->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), ((R x) (f x)))))))
% 1.25/1.48  univof:(fofType->fofType)
% 1.25/1.48  unmore:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sep X0) (fun (X3:fofType)=> ((l_some X1) (fun (X4:fofType)=> (((esti X0) X3) ((ap X2) X4))))))):(fofType->(fofType->(fofType->fofType)))
% 1.25/1.48  wel:=(fun (X0:Prop)=> (d_not (d_not X0))):(Prop->Prop)
% 1.25/1.48  wissel:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X0) (((wissel_wb X0) X1) X2))):(fofType->(fofType->(fofType->fofType)))
% 1.25/1.48  wissel_wa:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((((ite (((e_is X0) X3) X1)) X0) X2) X3)):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.25/1.48  wissel_wb:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((((ite (((e_is X0) X3) X2)) X0) X1) ((((wissel_wa X0) X1) X2) X3))):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.25/1.48  xi_ext:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X0)->(((eq fofType) (X1 X3)) (X2 X3))))->(((eq fofType) ((d_Sigma X0) X1)) ((d_Sigma X0) X2))))
% 1.25/1.48  ---termcontext
% 1.25/1.48  [[[False:Prop
% 1.25/1.48  False_rect:(forall (P:Type), (False->P))
% 1.25/1.48  I:True
% 1.25/1.48  NNPP:=(fun (P:Prop) (H:(not (not P)))=> ((fun (C:((or P) (not P)))=> ((((((or_ind P) (not P)) P) (fun (H0:P)=> H0)) (fun (N:(not P))=> ((False_rect P) (H N)))) C)) (classic P))):(forall (P:Prop), ((not (not P))->P))
% 1.25/1.48  True:Prop
% 1.25/1.48  _TPTP_proj1:=(fun (X0:fofType)=> (((d_ReplSep X0) (fun (X1:fofType)=> ((ex fofType) (fun (X2:fofType)=> (((eq fofType) (d_Inj1 X2)) X1))))) d_Unj)):(fofType->fofType)
% 1.25/1.48  all:=(fun (X0:fofType)=> (all_of (fun (X1:fofType)=> ((in X1) X0)))):(fofType->((fofType->Prop)->Prop))
% 1.25/1.48  all_of:=(fun (X0:(fofType->Prop)) (X1:(fofType->Prop))=> (forall (X2:fofType), (((is_of X2) X0)->(X1 X2)))):((fofType->Prop)->((fofType->Prop)->Prop))
% 1.25/1.48  amone:=(fun (X0:fofType) (X1:(fofType->Prop))=> ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X0))) (fun (X3:fofType)=> ((X1 X2)->((X1 X3)->(((e_is X0) X2) X3)))))))):(fofType->((fofType->Prop)->Prop))
% 1.25/1.48  and3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((d_and X0) ((d_and X1) X2))):(Prop->(Prop->(Prop->Prop)))
% 1.25/1.48  and:(Prop->(Prop->Prop))
% 1.25/1.48  and_comm_i:=(fun (A:Prop) (B:Prop) (H:((and A) B))=> ((((conj B) A) (((proj2 A) B) H)) (((proj1 A) B) H))):(forall (A:Prop) (B:Prop), (((and A) B)->((and B) A)))
% 1.25/1.48  and_rect:=(fun (A:Prop) (B:Prop) (P:Type) (X:(A->(B->P))) (H:((and A) B))=> ((X (((proj1 A) B) H)) (((proj2 A) B) H))):(forall (A:Prop) (B:Prop) (P:Type), ((A->(B->P))->(((and A) B)->P)))
% 1.25/1.48  anec:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> ((l_some X0) (((ecp X0) X1) X2))):(fofType->((fofType->(fofType->Prop))->(fofType->Prop)))
% 1.25/1.48  ap:=(fun (X0:fofType) (X1:fofType)=> (((d_ReplSep X0) (fun (X2:fofType)=> ((ex fofType) (fun (X3:fofType)=> (((eq fofType) X2) ((pair X1) X3)))))) _TPTP_proj1)):(fofType->(fofType->fofType))
% 1.25/1.48  ap_Pi:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType) (X3:fofType), (((in X2) ((d_Pi X0) X1))->(((in X3) X0)->((in ((ap X2) X3)) (X1 X3)))))
% 1.25/1.48  beta:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) X0)->(((eq fofType) ((ap ((d_Sigma X0) X1)) X2)) (X1 X2))))
% 1.25/1.48  bijective:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_and (((injective X0) X1) X2)) (((surjective X0) X1) X2))):(fofType->(fofType->(fofType->Prop)))
% 1.25/1.48  binunion:=(fun (X0:fofType) (X1:fofType)=> (union ((d_UPair X0) X1))):(fofType->(fofType->fofType))
% 1.25/1.48  changef:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_Sigma X0) (fun (X5:fofType)=> ((ap X2) ((ap (((wissel X0) X3) X4)) X5))))):(fofType->(fofType->(fofType->(fofType->(fofType->fofType)))))
% 1.25/1.48  choice:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (x:(forall (x:A), ((ex B) (fun (y:B)=> ((R x) y)))))=> (((fun (P:Prop) (x0:(forall (x0:(A->(B->Prop))), (((and ((((subrelation A) B) x0) R)) (forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y))))))->P)))=> (((((ex_ind (A->(B->Prop))) (fun (R':(A->(B->Prop)))=> ((and ((((subrelation A) B) R') R)) (forall (x0:A), ((ex B) ((unique B) (fun (y:B)=> ((R' x0) y)))))))) P) x0) ((((relational_choice A) B) R) x))) ((ex (A->B)) (fun (f:(A->B))=> (forall (x0:A), ((R x0) (f x0)))))) (fun (x0:(A->(B->Prop))) (x1:((and ((((subrelation A) B) x0) R)) (forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y)))))))=> (((fun (P:Type) (x2:(((((subrelation A) B) x0) R)->((forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y)))))->P)))=> (((((and_rect ((((subrelation A) B) x0) R)) (forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y)))))) P) x2) x1)) ((ex (A->B)) (fun (f:(A->B))=> (forall (x0:A), ((R x0) (f x0)))))) (fun (x2:((((subrelation A) B) x0) R)) (x3:(forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y))))))=> (((fun (P:Prop) (x4:(forall (x1:(A->B)), ((forall (x10:A), ((x0 x10) (x1 x10)))->P)))=> (((((ex_ind (A->B)) (fun (f:(A->B))=> (forall (x1:A), ((x0 x1) (f x1))))) P) x4) ((((unique_choice A) B) x0) x3))) ((ex (A->B)) (fun (f:(A->B))=> (forall (x0:A), ((R x0) (f x0)))))) (fun (x4:(A->B)) (x5:(forall (x10:A), ((x0 x10) (x4 x10))))=> ((((ex_intro (A->B)) (fun (f:(A->B))=> (forall (x0:A), ((R x0) (f x0))))) x4) (fun (x00:A)=> (((x2 x00) (x4 x00)) (x5 x00))))))))))):(forall (A:Type) (B:Type) (R:(A->(B->Prop))), ((forall (x:A), ((ex B) (fun (y:B)=> ((R x) y))))->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), ((R x) (f x)))))))
% 1.25/1.48  choice_operator:=(fun (A:Type) (a:A)=> ((((classical_choice (A->Prop)) A) (fun (x3:(A->Prop))=> x3)) a)):(forall (A:Type), (A->((ex ((A->Prop)->A)) (fun (co:((A->Prop)->A))=> (forall (P:(A->Prop)), (((ex A) (fun (x:A)=> (P x)))->(P (co P))))))))
% 1.25/1.48  classic:(forall (P:Prop), ((or P) (not P)))
% 1.25/1.48  classical_choice:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (b:B)=> ((fun (C:((forall (x:A), ((ex B) (fun (y:B)=> (((fun (x0:A) (y0:B)=> (((ex B) (fun (z:B)=> ((R x0) z)))->((R x0) y0))) x) y))))->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((fun (x0:A) (y:B)=> (((ex B) (fun (z:B)=> ((R x0) z)))->((R x0) y))) x) (f x)))))))=> (C (fun (x:A)=> ((fun (C0:((or ((ex B) (fun (z:B)=> ((R x) z)))) (not ((ex B) (fun (z:B)=> ((R x) z))))))=> ((((((or_ind ((ex B) (fun (z:B)=> ((R x) z)))) (not ((ex B) (fun (z:B)=> ((R x) z))))) ((ex B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y))))) ((((ex_ind B) (fun (z:B)=> ((R x) z))) ((ex B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y))))) (fun (y:B) (H:((R x) y))=> ((((ex_intro B) (fun (y0:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y0)))) y) (fun (_:((ex B) (fun (z:B)=> ((R x) z))))=> H))))) (fun (N:(not ((ex B) (fun (z:B)=> ((R x) z)))))=> ((((ex_intro B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y)))) b) (fun (H:((ex B) (fun (z:B)=> ((R x) z))))=> ((False_rect ((R x) b)) (N H)))))) C0)) (classic ((ex B) (fun (z:B)=> ((R x) z)))))))) (((choice A) B) (fun (x:A) (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y)))))):(forall (A:Type) (B:Type) (R:(A->(B->Prop))), (B->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((ex B) (fun (y:B)=> ((R x) y)))->((R x) (f x))))))))
% 1.25/1.48  cond1:=(n_in n_1):(fofType->Prop)
% 1.25/1.48  cond2:=(fun (X0:fofType)=> (n_all (fun (X1:fofType)=> ((imp ((n_in X1) X0)) ((n_in (ordsucc X1)) X0))))):(fofType->Prop)
% 1.25/1.48  conj:(forall (A:Prop) (B:Prop), (A->(B->((and A) B))))
% 1.25/1.48  d_10_prop1:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType) (X5:fofType) (X6:fofType)=> ((d_and (((esti X0) X6) (((ecect X0) X1) X4))) (((e_is X2) ((ap X3) X6)) X5))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->(fofType->Prop)))))))
% 1.25/1.48  d_11_i:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> (((indeq X0) X1) ((d_Pi X0) (fun (X3:fofType)=> X2)))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->fofType)))))
% 1.25/1.48  d_22_prop1:=(fun (X0:fofType)=> ((nis (ordsucc X0)) X0)):(fofType->Prop)
% 1.25/1.48  d_23_prop1:=(fun (X0:fofType)=> ((l_or ((n_is X0) n_1)) (n_some (fun (X1:fofType)=> ((n_is X0) (ordsucc X1)))))):(fofType->Prop)
% 1.25/1.48  d_In_rec:=(fun (X0:(fofType->((fofType->fofType)->fofType))) (X1:fofType)=> (eps ((d_In_rec_G X0) X1))):((fofType->((fofType->fofType)->fofType))->(fofType->fofType))
% 1.25/1.48  d_In_rec_G:=(fun (X0:(fofType->((fofType->fofType)->fofType))) (X1:fofType) (X2:fofType)=> (forall (X3:(fofType->(fofType->Prop))), ((forall (X4:fofType) (X5:(fofType->fofType)), ((forall (X6:fofType), (((in X6) X4)->((X3 X6) (X5 X6))))->((X3 X4) ((X0 X4) X5))))->((X3 X1) X2)))):((fofType->((fofType->fofType)->fofType))->(fofType->(fofType->Prop)))
% 1.25/1.48  d_Inj0:=(fun (X0:fofType)=> ((repl X0) d_Inj1)):(fofType->fofType)
% 1.25/1.48  d_Inj1:=(d_In_rec (fun (X0:fofType) (X1:(fofType->fofType))=> ((binunion (d_Sing emptyset)) ((repl X0) X1)))):(fofType->fofType)
% 1.25/1.48  d_Pi:=(fun (X0:fofType) (X1:(fofType->fofType))=> ((d_Sep (power ((d_Sigma X0) (fun (X2:fofType)=> (union (X1 X2)))))) (fun (X2:fofType)=> (forall (X3:fofType), (((in X3) X0)->((in ((ap X2) X3)) (X1 X3))))))):(fofType->((fofType->fofType)->fofType))
% 1.25/1.48  d_Power_closed:=(fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->((in (power X1)) X0)))):(fofType->Prop)
% 1.25/1.48  d_ReplSep:=(fun (X0:fofType) (X1:(fofType->Prop))=> (repl ((d_Sep X0) X1))):(fofType->((fofType->Prop)->((fofType->fofType)->fofType)))
% 1.25/1.48  d_Repl_closed:=(fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->(forall (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X1)->((in (X2 X3)) X0)))->((in ((repl X1) X2)) X0)))))):(fofType->Prop)
% 1.25/1.48  d_Sep:=(fun (X0:fofType) (X1:(fofType->Prop))=> (((if ((ex fofType) (fun (X2:fofType)=> ((and ((in X2) X0)) (X1 X2))))) ((repl X0) (fun (X2:fofType)=> (((if (X1 X2)) X2) (eps (fun (X3:fofType)=> ((and ((in X3) X0)) (X1 X3)))))))) emptyset)):(fofType->((fofType->Prop)->fofType))
% 1.25/1.48  d_Sigma:=(fun (X0:fofType) (X1:(fofType->fofType))=> ((famunion X0) (fun (X2:fofType)=> ((repl (X1 X2)) (pair X2))))):(fofType->((fofType->fofType)->fofType))
% 1.25/1.48  d_Sing:=(fun (X0:fofType)=> ((d_UPair X0) X0)):(fofType->fofType)
% 1.25/1.48  d_Subq:=(fun (X0:fofType) (X1:fofType)=> (forall (X2:fofType), (((in X2) X0)->((in X2) X1)))):(fofType->(fofType->Prop))
% 1.25/1.48  d_UPair:=(fun (X0:fofType) (X1:fofType)=> ((repl (power (power emptyset))) (fun (X2:fofType)=> (((if ((in emptyset) X2)) X0) X1)))):(fofType->(fofType->fofType))
% 1.25/1.48  d_Union_closed:=(fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->((in (union X1)) X0)))):(fofType->Prop)
% 1.25/1.48  d_Unj:=(d_In_rec (fun (X0:fofType)=> (repl ((setminus X0) (d_Sing emptyset))))):(fofType->fofType)
% 1.25/1.48  d_ZF_closed:=(fun (X0:fofType)=> ((and ((and (d_Union_closed X0)) (d_Power_closed X0))) (d_Repl_closed X0))):(fofType->Prop)
% 1.25/1.48  d_and:=(fun (X0:Prop) (X1:Prop)=> (d_not ((l_ec X0) X1))):(Prop->(Prop->Prop))
% 1.25/1.48  d_not:=(fun (X0:Prop)=> ((imp X0) False)):(Prop->Prop)
% 1.25/1.48  d_pair:=(fun (X0:fofType) (X1:fofType)=> pair):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.25/1.48  dependent_unique_choice:(forall (A:Type) (B:(A->Type)) (R:(forall (x:A), ((B x)->Prop))), ((forall (x:A), ((ex (B x)) ((unique (B x)) (fun (y:(B x))=> ((R x) y)))))->((ex (forall (x:A), (B x))) (fun (f:(forall (x:A), (B x)))=> (forall (x:A), ((R x) (f x)))))))
% 1.25/1.48  e_fisi:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Pi X0) (fun (X3:fofType)=> X1))))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) ((d_Pi X0) (fun (X4:fofType)=> X1))))) (fun (X3:fofType)=> (((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> (((e_is X1) ((ap X2) X4)) ((ap X3) X4))))->(((e_is ((d_Pi X0) (fun (X4:fofType)=> X1))) X2) X3)))))))
% 1.25/1.48  e_in:=(fun (X0:fofType) (X1:(fofType->Prop)) (X2:fofType)=> X2):(fofType->((fofType->Prop)->(fofType->fofType)))
% 1.25/1.48  e_in_p:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Sep X0) X1)))) (fun (X2:fofType)=> ((is_of (((e_in X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X0))))))
% 1.25/1.48  e_inp:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Sep X0) X1)))) (fun (X2:fofType)=> (X1 (((e_in X0) X1) X2)))))
% 1.25/1.48  e_is:=(fun (X0:fofType) (X:fofType) (Y:fofType)=> (((eq fofType) X) Y)):(fofType->(fofType->(fofType->Prop)))
% 1.25/1.48  e_isp:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X0))) (fun (X3:fofType)=> ((X1 X2)->((((e_is X0) X2) X3)->(X1 X3))))))))
% 1.25/1.48  e_pair_p:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> ((is_of ((((d_pair X0) X1) X2) X3)) (fun (X4:fofType)=> ((in X4) ((setprod X0) X1)))))))))
% 1.25/1.48  ec3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> (((and3 ((l_ec X0) X1)) ((l_ec X1) X2)) ((l_ec X2) X0))):(Prop->(Prop->(Prop->Prop)))
% 1.25/1.48  ecect:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((e_in (power X0)) ((anec X0) X1))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 1.25/1.48  ecelt:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> ((d_Sep X0) (X1 X2))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 1.25/1.48  ecp:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> (((e_is (power X0)) X2) (((ecelt X0) X1) X3))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))
% 1.25/1.48  ect:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((d_Sep (power X0)) ((anec X0) X1))):(fofType->((fofType->(fofType->Prop))->fofType))
% 1.25/1.48  ectelt:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> (((ectset X0) X1) (((ecelt X0) X1) X2))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 1.25/1.48  ectset:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((out (power X0)) ((anec X0) X1))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 1.25/1.48  empty:=(fun (X0:fofType) (X1:fofType)=> ((all_of (fun (X2:fofType)=> ((in X2) X0))) ((non X0) (fun (X2:fofType)=> (((esti X0) X2) X1))))):(fofType->(fofType->Prop))
% 1.25/1.48  emptyset:fofType
% 1.25/1.48  eps:((fofType->Prop)->fofType)
% 1.25/1.48  eq:=(fun (T:Type) (a:T) (b:T)=> (forall (P:(T->Prop)), ((P a)->(P b)))):(forall (T:Type), (T->(T->Prop)))
% 1.25/1.48  eq_ref:=(fun (T:Type) (a:T) (P:(T->Prop)) (x:(P a))=> x):(forall (T:Type) (a:T), (((eq T) a) a))
% 1.25/1.48  eq_stepl:=(fun (T:Type) (a:T) (b:T) (c:T) (X:(((eq T) a) b)) (Y:(((eq T) a) c))=> ((((((eq_trans T) c) a) b) ((((eq_sym T) a) c) Y)) X)):(forall (T:Type) (a:T) (b:T) (c:T), ((((eq T) a) b)->((((eq T) a) c)->(((eq T) c) b))))
% 1.25/1.48  eq_substitution:=(fun (T:Type) (U:Type) (a:T) (b:T) (f:(T->U)) (H:(((eq T) a) b))=> ((H (fun (x:T)=> (((eq U) (f a)) (f x)))) ((eq_ref U) (f a)))):(forall (T:Type) (U:Type) (a:T) (b:T) (f:(T->U)), ((((eq T) a) b)->(((eq U) (f a)) (f b))))
% 1.25/1.48  eq_sym:=(fun (T:Type) (a:T) (b:T) (H:(((eq T) a) b))=> ((H (fun (x:T)=> (((eq T) x) a))) ((eq_ref T) a))):(forall (T:Type) (a:T) (b:T), ((((eq T) a) b)->(((eq T) b) a)))
% 1.25/1.48  eq_trans:=(fun (T:Type) (a:T) (b:T) (c:T) (X:(((eq T) a) b)) (Y:(((eq T) b) c))=> ((Y (fun (t:T)=> (((eq T) a) t))) X)):(forall (T:Type) (a:T) (b:T) (c:T), ((((eq T) a) b)->((((eq T) b) c)->(((eq T) a) c))))
% 1.25/1.48  esti:=(fun (X0:fofType)=> in):(fofType->(fofType->(fofType->Prop)))
% 1.25/1.48  estie:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((((esti X0) X2) ((d_Sep X0) X1))->(X1 X2)))))
% 1.25/1.48  estii:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((X1 X2)->(((esti X0) X2) ((d_Sep X0) X1))))))
% 1.25/1.48  eta_expansion:=(fun (A:Type) (B:Type)=> ((eta_expansion_dep A) (fun (x1:A)=> B))):(forall (A:Type) (B:Type) (f:(A->B)), (((eq (A->B)) f) (fun (x:A)=> (f x))))
% 1.25/1.48  eta_expansion_dep:=(fun (A:Type) (B:(A->Type)) (f:(forall (x:A), (B x)))=> (((((functional_extensionality_dep A) (fun (x1:A)=> (B x1))) f) (fun (x:A)=> (f x))) (fun (x:A) (P:((B x)->Prop)) (x0:(P (f x)))=> x0))):(forall (A:Type) (B:(A->Type)) (f:(forall (x:A), (B x))), (((eq (forall (x:A), (B x))) f) (fun (x:A)=> (f x))))
% 1.25/1.48  ex:(forall (A:Type), ((A->Prop)->Prop))
% 1.25/1.48  ex_ind:(forall (A:Type) (F:(A->Prop)) (P:Prop), ((forall (x:A), ((F x)->P))->(((ex A) F)->P)))
% 1.25/1.48  ex_intro:(forall (A:Type) (P:(A->Prop)) (x:A), ((P x)->((ex A) P)))
% 1.25/1.48  famunion:=(fun (X0:fofType) (X1:(fofType->fofType))=> (union ((repl X0) X1))):(fofType->((fofType->fofType)->fofType))
% 1.25/1.48  first:=(fun (X0:fofType) (X1:fofType)=> proj0):(fofType->(fofType->(fofType->fofType)))
% 1.25/1.48  first_p:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> ((is_of (((first X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X0))))))
% 1.25/1.48  firstis1:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> (((e_is X0) (((first X0) X1) ((((d_pair X0) X1) X2) X3))) X2))))))
% 1.25/1.48  fixfu2:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> ((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> ((all_of (fun (X5:fofType)=> ((in X5) X0))) (fun (X5:fofType)=> ((all_of (fun (X6:fofType)=> ((in X6) X0))) (fun (X6:fofType)=> ((all_of (fun (X7:fofType)=> ((in X7) X0))) (fun (X7:fofType)=> (((X1 X4) X5)->(((X1 X6) X7)->(((e_is X2) ((ap ((ap X3) X4)) X6)) ((ap ((ap X3) X5)) X7))))))))))))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))
% 1.25/1.48  fixfu:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> ((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> ((all_of (fun (X5:fofType)=> ((in X5) X0))) (fun (X5:fofType)=> (((X1 X4) X5)->(((e_is X2) ((ap X3) X4)) ((ap X3) X5)))))))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))
% 1.25/1.48  fofType:Type
% 1.25/1.48  functional_extensionality:=(fun (A:Type) (B:Type)=> ((functional_extensionality_dep A) (fun (x1:A)=> B))):(forall (A:Type) (B:Type) (f:(A->B)) (g:(A->B)), ((forall (x:A), (((eq B) (f x)) (g x)))->(((eq (A->B)) f) g)))
% 1.25/1.48  functional_extensionality_dep:(forall (A:Type) (B:(A->Type)) (f:(forall (x:A), (B x))) (g:(forall (x:A), (B x))), ((forall (x:A), (((eq (B x)) (f x)) (g x)))->(((eq (forall (x:A), (B x))) f) g)))
% 1.25/1.48  functional_extensionality_double:=(fun (A:Type) (B:Type) (C:Type) (f:(A->(B->C))) (g:(A->(B->C))) (x:(forall (x:A) (y:B), (((eq C) ((f x) y)) ((g x) y))))=> (((((functional_extensionality_dep A) (fun (x2:A)=> (B->C))) f) g) (fun (x0:A)=> (((((functional_extensionality_dep B) (fun (x3:B)=> C)) (f x0)) (g x0)) (x x0))))):(forall (A:Type) (B:Type) (C:Type) (f:(A->(B->C))) (g:(A->(B->C))), ((forall (x:A) (y:B), (((eq C) ((f x) y)) ((g x) y)))->(((eq (A->(B->C))) f) g)))
% 1.25/1.48  i1_s:=(d_Sep nat):((fofType->Prop)->fofType)
% 1.25/1.48  if:=(fun (X0:Prop) (X1:fofType) (X2:fofType)=> (eps (fun (X3:fofType)=> ((or ((and X0) (((eq fofType) X3) X1))) ((and (X0->False)) (((eq fofType) X3) X2)))))):(Prop->(fofType->(fofType->fofType)))
% 1.25/1.48  if_i_0:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((X0->False)->(((eq fofType) (((if X0) X1) X2)) X2)))
% 1.25/1.48  if_i_1:(forall (X0:Prop) (X1:fofType) (X2:fofType), (X0->(((eq fofType) (((if X0) X1) X2)) X1)))
% 1.25/1.48  if_i_correct:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((or ((and X0) (((eq fofType) (((if X0) X1) X2)) X1))) ((and (X0->False)) (((eq fofType) (((if X0) X1) X2)) X2))))
% 1.25/1.48  if_i_or:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((or (((eq fofType) (((if X0) X1) X2)) X1)) (((eq fofType) (((if X0) X1) X2)) X2)))
% 1.25/1.48  iff:=(fun (A:Prop) (B:Prop)=> ((and (A->B)) (B->A))):(Prop->(Prop->Prop))
% 1.25/1.48  iff_refl:=(fun (A:Prop)=> ((((conj (A->A)) (A->A)) (fun (H:A)=> H)) (fun (H:A)=> H))):(forall (P:Prop), ((iff P) P))
% 1.25/1.48  iff_sym:=(fun (A:Prop) (B:Prop) (H:((iff A) B))=> ((((conj (B->A)) (A->B)) (((proj2 (A->B)) (B->A)) H)) (((proj1 (A->B)) (B->A)) H))):(forall (A:Prop) (B:Prop), (((iff A) B)->((iff B) A)))
% 1.25/1.48  iff_trans:=(fun (A:Prop) (B:Prop) (C:Prop) (AB:((iff A) B)) (BC:((iff B) C))=> ((((conj (A->C)) (C->A)) (fun (x:A)=> ((((proj1 (B->C)) (C->B)) BC) ((((proj1 (A->B)) (B->A)) AB) x)))) (fun (x:C)=> ((((proj2 (A->B)) (B->A)) AB) ((((proj2 (B->C)) (C->B)) BC) x))))):(forall (A:Prop) (B:Prop) (C:Prop), (((iff A) B)->(((iff B) C)->((iff A) C))))
% 1.25/1.48  image:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((l_some X0) (fun (X4:fofType)=> (((e_is X1) X3) ((ap X2) X4))))):(fofType->(fofType->(fofType->(fofType->Prop))))
% 1.25/1.48  imp:=(fun (X0:Prop) (X1:Prop)=> (X0->X1)):(Prop->(Prop->Prop))
% 1.25/1.48  in:(fofType->(fofType->Prop))
% 1.25/1.48  incl:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((imp (((esti X0) X3) X1)) (((esti X0) X3) X2))))):(fofType->(fofType->(fofType->Prop)))
% 1.25/1.48  ind:=(fun (X0:fofType) (X1:(fofType->Prop))=> (eps (fun (X2:fofType)=> ((and ((in X2) X0)) (X1 X2))))):(fofType->((fofType->Prop)->fofType))
% 1.25/1.48  ind_p:(forall (X0:fofType) (X1:(fofType->Prop)), (((one X0) X1)->((is_of ((ind X0) X1)) (fun (X2:fofType)=> ((in X2) X0)))))
% 1.25/1.48  indeq2:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType)=> ((((indeq X0) X1) X2) (((((d_11_i X0) X1) X2) X3) X4))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->fofType))))))
% 1.25/1.48  indeq:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType)=> ((ind X2) (((((prop2 X0) X1) X2) X3) X4))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->fofType)))))
% 1.25/1.48  inj_h:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_Sigma X0) (fun (X5:fofType)=> ((ap X4) ((ap X3) X5))))):(fofType->(fofType->(fofType->(fofType->(fofType->fofType)))))
% 1.25/1.48  injective:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((all X0) (fun (X4:fofType)=> ((imp (((e_is X1) ((ap X2) X3)) ((ap X2) X4))) (((e_is X0) X3) X4))))))):(fofType->(fofType->(fofType->Prop)))
% 1.25/1.48  inverse:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X1) (fun (X3:fofType)=> (((if ((((image X0) X1) X2) X3)) ((((soft X0) X1) X2) X3)) emptyset)))):(fofType->(fofType->(fofType->fofType)))
% 1.25/1.48  invf:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X1) (((soft X0) X1) X2))):(fofType->(fofType->(fofType->fofType)))
% 1.25/1.48  is_of:=(fun (X0:fofType) (X1:(fofType->Prop))=> (X1 X0)):(fofType->((fofType->Prop)->Prop))
% 1.25/1.48  isseti:(forall (X0:fofType), ((all_of (fun (X1:fofType)=> ((in X1) (power X0)))) (fun (X1:fofType)=> ((all_of (fun (X2:fofType)=> ((in X2) (power X0)))) (fun (X2:fofType)=> ((((incl X0) X1) X2)->((((incl X0) X2) X1)->(((e_is (power X0)) X1) X2))))))))
% 1.25/1.48  ite:=(fun (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType)=> ((ind X1) ((((prop1 X0) X1) X2) X3))):(Prop->(fofType->(fofType->(fofType->fofType))))
% 1.25/1.48  k_EmptyAx:(((ex fofType) (fun (X0:fofType)=> ((in X0) emptyset)))->False)
% 1.25/1.48  k_If_In_01:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((X0->((in X1) X2))->((in (((if X0) X1) emptyset)) (((if X0) X2) (ordsucc emptyset)))))
% 1.25/1.48  k_If_In_then_E:(forall (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType), (X0->(((in X1) (((if X0) X2) X3))->((in X1) X2))))
% 1.25/1.48  k_In_0_1:((in emptyset) (ordsucc emptyset))
% 1.25/1.48  k_In_ind:(forall (X0:(fofType->Prop)), ((forall (X1:fofType), ((forall (X2:fofType), (((in X2) X1)->(X0 X2)))->(X0 X1)))->(forall (X1:fofType), (X0 X1))))
% 1.25/1.48  k_Pi_ext:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Pi X0) X1))->(forall (X3:fofType), (((in X3) ((d_Pi X0) X1))->((forall (X4:fofType), (((in X4) X0)->(((eq fofType) ((ap X2) X4)) ((ap X3) X4))))->(((eq fofType) X2) X3))))))
% 1.25/1.48  k_PowerE:(forall (X0:fofType) (X1:fofType), (((in X1) (power X0))->((d_Subq X1) X0)))
% 1.25/1.48  k_PowerEq:(forall (X0:fofType) (X1:fofType), ((iff ((in X1) (power X0))) ((d_Subq X1) X0)))
% 1.25/1.48  k_PowerI:(forall (X0:fofType) (X1:fofType), (((d_Subq X1) X0)->((in X1) (power X0))))
% 1.25/1.48  k_ReplEq:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), ((iff ((in X2) ((repl X0) X1))) ((ex fofType) (fun (X3:fofType)=> ((and ((in X3) X0)) (((eq fofType) X2) (X1 X3)))))))
% 1.25/1.48  k_Self_In_Power:(forall (X0:fofType), ((in X0) (power X0)))
% 1.25/1.48  k_SepE1:(forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) ((d_Sep X0) X1))->((in X2) X0)))
% 1.25/1.48  k_SepE2:(forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) ((d_Sep X0) X1))->(X1 X2)))
% 1.25/1.48  k_SepI:(forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) X0)->((X1 X2)->((in X2) ((d_Sep X0) X1)))))
% 1.25/1.48  k_Sigma_eta_proj0_proj1:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((and ((and (((eq fofType) ((pair (proj0 X2)) (_TPTP_proj1 X2))) X2)) ((in (proj0 X2)) X0))) ((in (_TPTP_proj1 X2)) (X1 (proj0 X2))))))
% 1.25/1.48  k_UnionEq:(forall (X0:fofType) (X1:fofType), ((iff ((in X1) (union X0))) ((ex fofType) (fun (X2:fofType)=> ((and ((in X1) X2)) ((in X2) X0))))))
% 1.25/1.48  k_UnivOf_In:(forall (X0:fofType), ((in X0) (univof X0)))
% 1.25/1.48  k_UnivOf_ZF_closed:(forall (X0:fofType), (d_ZF_closed (univof X0)))
% 1.25/1.48  l_ec:=(fun (X0:Prop) (X1:Prop)=> ((imp X0) (d_not X1))):(Prop->(Prop->Prop))
% 1.25/1.48  l_et:(forall (X0:Prop), ((wel X0)->X0))
% 1.25/1.48  l_iff:=(fun (X0:Prop) (X1:Prop)=> ((d_and ((imp X0) X1)) ((imp X1) X0))):(Prop->(Prop->Prop))
% 1.25/1.48  l_or:=(fun (X0:Prop)=> (imp (d_not X0))):(Prop->(Prop->Prop))
% 1.25/1.48  l_some:=(fun (X0:fofType) (X1:(fofType->Prop))=> (d_not ((all_of (fun (X2:fofType)=> ((in X2) X0))) ((non X0) X1)))):(fofType->((fofType->Prop)->Prop))
% 1.25/1.48  lam_Pi:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X0)->((in (X2 X3)) (X1 X3))))->((in ((d_Sigma X0) X2)) ((d_Pi X0) X1))))
% 1.25/1.48  nIn:=(fun (X0:fofType) (X1:fofType)=> (((in X0) X1)->False)):(fofType->(fofType->Prop))
% 1.25/1.48  n_1:=(ordsucc emptyset):fofType
% 1.25/1.48  n_1_p:((is_of n_1) (fun (X0:fofType)=> ((in X0) nat)))
% 1.25/1.48  n_all:=(all nat):((fofType->Prop)->Prop)
% 1.25/1.48  n_ax3:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((nis (ordsucc X0)) n_1)))
% 1.25/1.48  n_ax4:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> (((n_is (ordsucc X0)) (ordsucc X1))->((n_is X0) X1))))))
% 1.25/1.48  n_ax5:((all_of (fun (X0:fofType)=> ((in X0) (power nat)))) (fun (X0:fofType)=> ((cond1 X0)->((cond2 X0)->((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> ((n_in X1) X0)))))))
% 1.25/1.48  n_in:=(esti nat):(fofType->(fofType->Prop))
% 1.25/1.48  n_is:=(e_is nat):(fofType->(fofType->Prop))
% 1.25/1.48  n_one:=(one nat):((fofType->Prop)->Prop)
% 1.25/1.48  n_some:=(l_some nat):((fofType->Prop)->Prop)
% 1.25/1.48  nat:=((d_Sep omega) (fun (X0:fofType)=> (not (((eq fofType) X0) emptyset)))):fofType
% 1.25/1.48  nat_1:(nat_p (ordsucc emptyset))
% 1.25/1.48  nat_ind:(forall (X0:(fofType->Prop)), ((X0 emptyset)->((forall (X1:fofType), ((nat_p X1)->((X0 X1)->(X0 (ordsucc X1)))))->(forall (X1:fofType), ((nat_p X1)->(X0 X1))))))
% 1.25/1.48  nat_inv:(forall (X0:fofType), ((nat_p X0)->((or (((eq fofType) X0) emptyset)) ((ex fofType) (fun (X1:fofType)=> ((and (nat_p X1)) (((eq fofType) X0) (ordsucc X1))))))))
% 1.25/1.48  nat_ordsucc:(forall (X0:fofType), ((nat_p X0)->(nat_p (ordsucc X0))))
% 1.25/1.48  nat_p:=(fun (X0:fofType)=> (forall (X1:(fofType->Prop)), ((X1 emptyset)->((forall (X2:fofType), ((X1 X2)->(X1 (ordsucc X2))))->(X1 X0))))):(fofType->Prop)
% 1.25/1.48  nat_p_omega:(forall (X0:fofType), ((nat_p X0)->((in X0) omega)))
% 1.25/1.48  neq_ordsucc_0:(forall (X0:fofType), (not (((eq fofType) (ordsucc X0)) emptyset)))
% 1.25/1.48  nis:=(fun (X0:fofType) (X1:fofType)=> (d_not ((n_is X0) X1))):(fofType->(fofType->Prop))
% 1.25/1.48  nissetprop:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((d_and (((esti X0) X3) X1)) (d_not (((esti X0) X3) X2)))):(fofType->(fofType->(fofType->(fofType->Prop))))
% 1.25/1.48  non:=(fun (X0:fofType) (X1:(fofType->Prop)) (X2:fofType)=> (d_not (X1 X2))):(fofType->((fofType->Prop)->(fofType->Prop)))
% 1.25/1.48  nonempty:=(fun (X0:fofType) (X1:fofType)=> ((l_some X0) (fun (X2:fofType)=> (((esti X0) X2) X1)))):(fofType->(fofType->Prop))
% 1.25/1.48  not:=(fun (P:Prop)=> (P->False)):(Prop->Prop)
% 1.25/1.48  obvious:=((imp False) False):Prop
% 1.25/1.48  omega:=((d_Sep (univof emptyset)) nat_p):fofType
% 1.25/1.48  omega_nat_p:(forall (X0:fofType), (((in X0) omega)->(nat_p X0)))
% 1.25/1.48  one:=(fun (X0:fofType) (X1:(fofType->Prop))=> ((d_and ((amone X0) X1)) ((l_some X0) X1))):(fofType->((fofType->Prop)->Prop))
% 1.25/1.48  oneax:(forall (X0:fofType) (X1:(fofType->Prop)), (((one X0) X1)->(X1 ((ind X0) X1))))
% 1.25/1.48  or3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((l_or X0) ((l_or X1) X2))):(Prop->(Prop->(Prop->Prop)))
% 1.25/1.48  or:(Prop->(Prop->Prop))
% 1.25/1.48  or_comm_i:=(fun (A:Prop) (B:Prop) (H:((or A) B))=> ((((((or_ind A) B) ((or B) A)) ((or_intror B) A)) ((or_introl B) A)) H)):(forall (A:Prop) (B:Prop), (((or A) B)->((or B) A)))
% 1.25/1.48  or_first:=(fun (A:Prop) (B:Prop)=> (((((or_ind A) B) ((B->A)->A)) (fun (x:A) (x0:(B->A))=> x)) (fun (x:B) (x0:(B->A))=> (x0 x)))):(forall (A:Prop) (B:Prop), (((or A) B)->((B->A)->A)))
% 1.25/1.48  or_ind:(forall (A:Prop) (B:Prop) (P:Prop), ((A->P)->((B->P)->(((or A) B)->P))))
% 1.25/1.48  or_introl:(forall (A:Prop) (B:Prop), (A->((or A) B)))
% 1.25/1.48  or_intror:(forall (A:Prop) (B:Prop), (B->((or A) B)))
% 1.25/1.48  or_second:=(fun (A:Prop) (B:Prop) (x:((or A) B))=> (((or_first B) A) (((or_comm_i A) B) x))):(forall (A:Prop) (B:Prop), (((or A) B)->((A->B)->B)))
% 1.25/1.48  ordsucc:=(fun (X0:fofType)=> ((binunion X0) (d_Sing X0))):(fofType->fofType)
% 1.25/1.48  ordsucc_inj:(forall (X0:fofType) (X1:fofType), ((((eq fofType) (ordsucc X0)) (ordsucc X1))->(((eq fofType) X0) X1)))
% 1.25/1.48  orec3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((d_and (((or3 X0) X1) X2)) (((ec3 X0) X1) X2))):(Prop->(Prop->(Prop->Prop)))
% 1.25/1.48  orec:=(fun (X0:Prop) (X1:Prop)=> ((d_and ((l_or X0) X1)) ((l_ec X0) X1))):(Prop->(Prop->Prop))
% 1.25/1.48  otax1:(forall (X0:fofType) (X1:(fofType->Prop)), (((injective ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1))))
% 1.25/1.48  otax2:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((X1 X2)->((((image ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1))) X2)))))
% 1.25/1.48  out:=(fun (X0:fofType) (X1:(fofType->Prop))=> (((soft ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1)))):(fofType->((fofType->Prop)->(fofType->fofType)))
% 1.25/1.48  pair:=(fun (X0:fofType) (X1:fofType)=> ((binunion ((repl X0) d_Inj0)) ((repl X1) d_Inj1))):(fofType->(fofType->fofType))
% 1.25/1.48  pair_Sigma:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) X0)->(forall (X3:fofType), (((in X3) (X1 X2))->((in ((pair X2) X3)) ((d_Sigma X0) X1))))))
% 1.25/1.48  pair_p:=(fun (X0:fofType)=> (((eq fofType) ((pair ((ap X0) emptyset)) ((ap X0) (ordsucc emptyset)))) X0)):(fofType->Prop)
% 1.25/1.48  pairis1:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> (((e_is ((setprod X0) X1)) ((((d_pair X0) X1) (((first X0) X1) X2)) (((second X0) X1) X2))) X2))))
% 1.25/1.48  power:(fofType->fofType)
% 1.25/1.48  proj0:=(fun (X0:fofType)=> (((d_ReplSep X0) (fun (X1:fofType)=> ((ex fofType) (fun (X2:fofType)=> (((eq fofType) (d_Inj0 X2)) X1))))) d_Unj)):(fofType->fofType)
% 1.25/1.48  proj0_Sigma:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((in (proj0 X2)) X0)))
% 1.25/1.48  proj0_pair_eq:(forall (X0:fofType) (X1:fofType), (((eq fofType) (proj0 ((pair X0) X1))) X0))
% 1.25/1.48  proj1:(forall (A:Prop) (B:Prop), (((and A) B)->A))
% 1.25/1.48  proj1_Sigma:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((in (_TPTP_proj1 X2)) (X1 (proj0 X2)))))
% 1.25/1.48  proj1_pair_eq:(forall (X0:fofType) (X1:fofType), (((eq fofType) (_TPTP_proj1 ((pair X0) X1))) X1))
% 1.25/1.48  proj2:(forall (A:Prop) (B:Prop), (((and A) B)->B))
% 1.25/1.48  proj_Sigma_eta:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->(((eq fofType) ((pair (proj0 X2)) (_TPTP_proj1 X2))) X2)))
% 1.25/1.48  prop1:=(fun (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_and ((imp X0) (((e_is X1) X4) X2))) ((imp (d_not X0)) (((e_is X1) X4) X3)))):(Prop->(fofType->(fofType->(fofType->(fofType->Prop)))))
% 1.25/1.48  prop2:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType) (X5:fofType)=> ((l_some X0) ((((((d_10_prop1 X0) X1) X2) X3) X4) X5))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->Prop))))))
% 1.25/1.48  r_ec:=(fun (X0:Prop) (X1:Prop)=> (X0->(d_not X1))):(Prop->(Prop->Prop))
% 1.25/1.48  refis:(forall (X0:fofType), ((all_of (fun (X1:fofType)=> ((in X1) X0))) (fun (X1:fofType)=> (((e_is X0) X1) X1))))
% 1.25/1.48  relational_choice:(forall (A:Type) (B:Type) (R:(A->(B->Prop))), ((forall (x:A), ((ex B) (fun (y:B)=> ((R x) y))))->((ex (A->(B->Prop))) (fun (R':(A->(B->Prop)))=> ((and ((((subrelation A) B) R') R)) (forall (x:A), ((ex B) ((unique B) (fun (y:B)=> ((R' x) y))))))))))
% 1.25/1.48  repl:(fofType->((fofType->fofType)->fofType))
% 1.25/1.48  satz1:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> (((nis X0) X1)->((nis (ordsucc X0)) (ordsucc X1)))))))
% 1.25/1.48  satz2:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((nis (ordsucc X0)) X0)))
% 1.25/1.48  satz3:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> (((nis X0) n_1)->(n_some (fun (X1:fofType)=> ((n_is X0) (ordsucc X1)))))))
% 1.25/1.48  second:=(fun (X0:fofType) (X1:fofType)=> _TPTP_proj1):(fofType->(fofType->(fofType->fofType)))
% 1.25/1.48  second_p:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> ((is_of (((second X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X1))))))
% 1.25/1.48  secondis1:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> (((e_is X1) (((second X0) X1) ((((d_pair X0) X1) X2) X3))) X3))))))
% 1.25/1.48  set_ext:(forall (X0:fofType) (X1:fofType), (((d_Subq X0) X1)->(((d_Subq X1) X0)->(((eq fofType) X0) X1))))
% 1.25/1.48  setminus:=(fun (X0:fofType) (X1:fofType)=> ((d_Sep X0) (fun (X2:fofType)=> ((nIn X2) X1)))):(fofType->(fofType->fofType))
% 1.25/1.48  setof_p:(forall (X0:fofType) (X1:(fofType->Prop)), ((is_of ((d_Sep X0) X1)) (fun (X2:fofType)=> ((in X2) (power X0)))))
% 1.25/1.48  setprod:=(fun (X0:fofType) (X1:fofType)=> ((d_Sigma X0) (fun (X2:fofType)=> X1))):(fofType->(fofType->fofType))
% 1.25/1.48  soft:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((ind X0) (fun (X4:fofType)=> (((e_is X1) X3) ((ap X2) X4))))):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.25/1.48  st_disj:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((l_ec (((esti X0) X3) X1)) (((esti X0) X3) X2))))):(fofType->(fofType->(fofType->Prop)))
% 1.25/1.48  subrelation:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (R':(A->(B->Prop)))=> (forall (x:A) (y:B), (((R x) y)->((R' x) y)))):(forall (A:Type) (B:Type), ((A->(B->Prop))->((A->(B->Prop))->Prop)))
% 1.25/1.48  suc_p:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((is_of (ordsucc X0)) (fun (X1:fofType)=> ((in X1) nat)))))
% 1.25/1.48  surjective:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X1) (((image X0) X1) X2))):(fofType->(fofType->(fofType->Prop)))
% 1.25/1.48  tofs:=(fun (X0:fofType) (X1:fofType)=> ap):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.25/1.48  union:(fofType->fofType)
% 1.25/1.48  unique:=(fun (A:Type) (P:(A->Prop)) (x:A)=> ((and (P x)) (forall (x':A), ((P x')->(((eq A) x) x'))))):(forall (A:Type), ((A->Prop)->(A->Prop)))
% 1.25/1.48  unique_choice:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (x:(forall (x:A), ((ex B) ((unique B) (fun (y:B)=> ((R x) y))))))=> ((((dependent_unique_choice A) (fun (x2:A)=> B)) R) x)):(forall (A:Type) (B:Type) (R:(A->(B->Prop))), ((forall (x:A), ((ex B) ((unique B) (fun (y:B)=> ((R x) y)))))->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), ((R x) (f x)))))))
% 1.25/1.50  univof:(fofType->fofType)
% 1.25/1.50  unmore:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sep X0) (fun (X3:fofType)=> ((l_some X1) (fun (X4:fofType)=> (((esti X0) X3) ((ap X2) X4))))))):(fofType->(fofType->(fofType->fofType)))
% 1.25/1.50  wel:=(fun (X0:Prop)=> (d_not (d_not X0))):(Prop->Prop)
% 1.25/1.50  wissel:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X0) (((wissel_wb X0) X1) X2))):(fofType->(fofType->(fofType->fofType)))
% 1.25/1.50  wissel_wa:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((((ite (((e_is X0) X3) X1)) X0) X2) X3)):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.25/1.50  wissel_wb:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((((ite (((e_is X0) X3) X2)) X0) X1) ((((wissel_wa X0) X1) X2) X3))):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.25/1.50  xi_ext:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X0)->(((eq fofType) (X1 X3)) (X2 X3))))->(((eq fofType) ((d_Sigma X0) X1)) ((d_Sigma X0) X2))))]X0:fofType
% 1.25/1.50  X1:(fofType->Prop)
% 1.25/1.50  X2:fofType]x:((is_of X2) (fun (X2:fofType)=> ((in X2) ((d_Sep X0) X1))))]x0:fofType
% 1.25/1.50  ---subcontext
% 1.25/1.50  [False:Prop
% 1.25/1.50  False_rect:(forall (P:Type), (False->P))
% 1.25/1.50  I:True
% 1.25/1.50  NNPP:=(fun (P:Prop) (H:(not (not P)))=> ((fun (C:((or P) (not P)))=> ((((((or_ind P) (not P)) P) (fun (H0:P)=> H0)) (fun (N:(not P))=> ((False_rect P) (H N)))) C)) (classic P))):(forall (P:Prop), ((not (not P))->P))
% 1.25/1.50  True:Prop
% 1.25/1.50  _TPTP_proj1:=(fun (X0:fofType)=> (((d_ReplSep X0) (fun (X1:fofType)=> ((ex fofType) (fun (X2:fofType)=> (((eq fofType) (d_Inj1 X2)) X1))))) d_Unj)):(fofType->fofType)
% 1.25/1.50  all:=(fun (X0:fofType)=> (all_of (fun (X1:fofType)=> ((in X1) X0)))):(fofType->((fofType->Prop)->Prop))
% 1.25/1.50  all_of:=(fun (X0:(fofType->Prop)) (X1:(fofType->Prop))=> (forall (X2:fofType), (((is_of X2) X0)->(X1 X2)))):((fofType->Prop)->((fofType->Prop)->Prop))
% 1.25/1.50  amone:=(fun (X0:fofType) (X1:(fofType->Prop))=> ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X0))) (fun (X3:fofType)=> ((X1 X2)->((X1 X3)->(((e_is X0) X2) X3)))))))):(fofType->((fofType->Prop)->Prop))
% 1.25/1.50  and3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((d_and X0) ((d_and X1) X2))):(Prop->(Prop->(Prop->Prop)))
% 1.25/1.50  and:(Prop->(Prop->Prop))
% 1.25/1.50  and_comm_i:=(fun (A:Prop) (B:Prop) (H:((and A) B))=> ((((conj B) A) (((proj2 A) B) H)) (((proj1 A) B) H))):(forall (A:Prop) (B:Prop), (((and A) B)->((and B) A)))
% 1.25/1.50  and_rect:=(fun (A:Prop) (B:Prop) (P:Type) (X:(A->(B->P))) (H:((and A) B))=> ((X (((proj1 A) B) H)) (((proj2 A) B) H))):(forall (A:Prop) (B:Prop) (P:Type), ((A->(B->P))->(((and A) B)->P)))
% 1.25/1.50  anec:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> ((l_some X0) (((ecp X0) X1) X2))):(fofType->((fofType->(fofType->Prop))->(fofType->Prop)))
% 1.25/1.50  ap:=(fun (X0:fofType) (X1:fofType)=> (((d_ReplSep X0) (fun (X2:fofType)=> ((ex fofType) (fun (X3:fofType)=> (((eq fofType) X2) ((pair X1) X3)))))) _TPTP_proj1)):(fofType->(fofType->fofType))
% 1.25/1.50  ap_Pi:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType) (X3:fofType), (((in X2) ((d_Pi X0) X1))->(((in X3) X0)->((in ((ap X2) X3)) (X1 X3)))))
% 1.25/1.50  beta:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) X0)->(((eq fofType) ((ap ((d_Sigma X0) X1)) X2)) (X1 X2))))
% 1.25/1.50  bijective:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_and (((injective X0) X1) X2)) (((surjective X0) X1) X2))):(fofType->(fofType->(fofType->Prop)))
% 1.25/1.50  binunion:=(fun (X0:fofType) (X1:fofType)=> (union ((d_UPair X0) X1))):(fofType->(fofType->fofType))
% 1.25/1.50  changef:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_Sigma X0) (fun (X5:fofType)=> ((ap X2) ((ap (((wissel X0) X3) X4)) X5))))):(fofType->(fofType->(fofType->(fofType->(fofType->fofType)))))
% 1.25/1.50  choice:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (x:(forall (x:A), ((ex B) (fun (y:B)=> ((R x) y)))))=> (((fun (P:Prop) (x0:(forall (x0:(A->(B->Prop))), (((and ((((subrelation A) B) x0) R)) (forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y))))))->P)))=> (((((ex_ind (A->(B->Prop))) (fun (R':(A->(B->Prop)))=> ((and ((((subrelation A) B) R') R)) (forall (x0:A), ((ex B) ((unique B) (fun (y:B)=> ((R' x0) y)))))))) P) x0) ((((relational_choice A) B) R) x))) ((ex (A->B)) (fun (f:(A->B))=> (forall (x0:A), ((R x0) (f x0)))))) (fun (x0:(A->(B->Prop))) (x1:((and ((((subrelation A) B) x0) R)) (forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y)))))))=> (((fun (P:Type) (x2:(((((subrelation A) B) x0) R)->((forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y)))))->P)))=> (((((and_rect ((((subrelation A) B) x0) R)) (forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y)))))) P) x2) x1)) ((ex (A->B)) (fun (f:(A->B))=> (forall (x0:A), ((R x0) (f x0)))))) (fun (x2:((((subrelation A) B) x0) R)) (x3:(forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y))))))=> (((fun (P:Prop) (x4:(forall (x1:(A->B)), ((forall (x10:A), ((x0 x10) (x1 x10)))->P)))=> (((((ex_ind (A->B)) (fun (f:(A->B))=> (forall (x1:A), ((x0 x1) (f x1))))) P) x4) ((((unique_choice A) B) x0) x3))) ((ex (A->B)) (fun (f:(A->B))=> (forall (x0:A), ((R x0) (f x0)))))) (fun (x4:(A->B)) (x5:(forall (x10:A), ((x0 x10) (x4 x10))))=> ((((ex_intro (A->B)) (fun (f:(A->B))=> (forall (x0:A), ((R x0) (f x0))))) x4) (fun (x00:A)=> (((x2 x00) (x4 x00)) (x5 x00))))))))))):(forall (A:Type) (B:Type) (R:(A->(B->Prop))), ((forall (x:A), ((ex B) (fun (y:B)=> ((R x) y))))->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), ((R x) (f x)))))))
% 1.25/1.50  choice_operator:=(fun (A:Type) (a:A)=> ((((classical_choice (A->Prop)) A) (fun (x3:(A->Prop))=> x3)) a)):(forall (A:Type), (A->((ex ((A->Prop)->A)) (fun (co:((A->Prop)->A))=> (forall (P:(A->Prop)), (((ex A) (fun (x:A)=> (P x)))->(P (co P))))))))
% 1.25/1.50  classic:(forall (P:Prop), ((or P) (not P)))
% 1.25/1.50  classical_choice:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (b:B)=> ((fun (C:((forall (x:A), ((ex B) (fun (y:B)=> (((fun (x0:A) (y0:B)=> (((ex B) (fun (z:B)=> ((R x0) z)))->((R x0) y0))) x) y))))->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((fun (x0:A) (y:B)=> (((ex B) (fun (z:B)=> ((R x0) z)))->((R x0) y))) x) (f x)))))))=> (C (fun (x:A)=> ((fun (C0:((or ((ex B) (fun (z:B)=> ((R x) z)))) (not ((ex B) (fun (z:B)=> ((R x) z))))))=> ((((((or_ind ((ex B) (fun (z:B)=> ((R x) z)))) (not ((ex B) (fun (z:B)=> ((R x) z))))) ((ex B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y))))) ((((ex_ind B) (fun (z:B)=> ((R x) z))) ((ex B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y))))) (fun (y:B) (H:((R x) y))=> ((((ex_intro B) (fun (y0:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y0)))) y) (fun (_:((ex B) (fun (z:B)=> ((R x) z))))=> H))))) (fun (N:(not ((ex B) (fun (z:B)=> ((R x) z)))))=> ((((ex_intro B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y)))) b) (fun (H:((ex B) (fun (z:B)=> ((R x) z))))=> ((False_rect ((R x) b)) (N H)))))) C0)) (classic ((ex B) (fun (z:B)=> ((R x) z)))))))) (((choice A) B) (fun (x:A) (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y)))))):(forall (A:Type) (B:Type) (R:(A->(B->Prop))), (B->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((ex B) (fun (y:B)=> ((R x) y)))->((R x) (f x))))))))
% 1.25/1.50  cond1:=(n_in n_1):(fofType->Prop)
% 1.25/1.50  cond2:=(fun (X0:fofType)=> (n_all (fun (X1:fofType)=> ((imp ((n_in X1) X0)) ((n_in (ordsucc X1)) X0))))):(fofType->Prop)
% 1.25/1.50  conj:(forall (A:Prop) (B:Prop), (A->(B->((and A) B))))
% 1.25/1.50  d_10_prop1:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType) (X5:fofType) (X6:fofType)=> ((d_and (((esti X0) X6) (((ecect X0) X1) X4))) (((e_is X2) ((ap X3) X6)) X5))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->(fofType->Prop)))))))
% 1.25/1.50  d_11_i:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> (((indeq X0) X1) ((d_Pi X0) (fun (X3:fofType)=> X2)))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->fofType)))))
% 1.25/1.50  d_22_prop1:=(fun (X0:fofType)=> ((nis (ordsucc X0)) X0)):(fofType->Prop)
% 1.25/1.50  d_23_prop1:=(fun (X0:fofType)=> ((l_or ((n_is X0) n_1)) (n_some (fun (X1:fofType)=> ((n_is X0) (ordsucc X1)))))):(fofType->Prop)
% 1.25/1.50  d_In_rec:=(fun (X0:(fofType->((fofType->fofType)->fofType))) (X1:fofType)=> (eps ((d_In_rec_G X0) X1))):((fofType->((fofType->fofType)->fofType))->(fofType->fofType))
% 1.25/1.50  d_In_rec_G:=(fun (X0:(fofType->((fofType->fofType)->fofType))) (X1:fofType) (X2:fofType)=> (forall (X3:(fofType->(fofType->Prop))), ((forall (X4:fofType) (X5:(fofType->fofType)), ((forall (X6:fofType), (((in X6) X4)->((X3 X6) (X5 X6))))->((X3 X4) ((X0 X4) X5))))->((X3 X1) X2)))):((fofType->((fofType->fofType)->fofType))->(fofType->(fofType->Prop)))
% 1.25/1.50  d_Inj0:=(fun (X0:fofType)=> ((repl X0) d_Inj1)):(fofType->fofType)
% 1.25/1.50  d_Inj1:=(d_In_rec (fun (X0:fofType) (X1:(fofType->fofType))=> ((binunion (d_Sing emptyset)) ((repl X0) X1)))):(fofType->fofType)
% 1.25/1.50  d_Pi:=(fun (X0:fofType) (X1:(fofType->fofType))=> ((d_Sep (power ((d_Sigma X0) (fun (X2:fofType)=> (union (X1 X2)))))) (fun (X2:fofType)=> (forall (X3:fofType), (((in X3) X0)->((in ((ap X2) X3)) (X1 X3))))))):(fofType->((fofType->fofType)->fofType))
% 1.25/1.50  d_Power_closed:=(fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->((in (power X1)) X0)))):(fofType->Prop)
% 1.25/1.50  d_ReplSep:=(fun (X0:fofType) (X1:(fofType->Prop))=> (repl ((d_Sep X0) X1))):(fofType->((fofType->Prop)->((fofType->fofType)->fofType)))
% 1.25/1.50  d_Repl_closed:=(fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->(forall (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X1)->((in (X2 X3)) X0)))->((in ((repl X1) X2)) X0)))))):(fofType->Prop)
% 1.25/1.50  d_Sep:=(fun (X0:fofType) (X1:(fofType->Prop))=> (((if ((ex fofType) (fun (X2:fofType)=> ((and ((in X2) X0)) (X1 X2))))) ((repl X0) (fun (X2:fofType)=> (((if (X1 X2)) X2) (eps (fun (X3:fofType)=> ((and ((in X3) X0)) (X1 X3)))))))) emptyset)):(fofType->((fofType->Prop)->fofType))
% 1.25/1.50  d_Sigma:=(fun (X0:fofType) (X1:(fofType->fofType))=> ((famunion X0) (fun (X2:fofType)=> ((repl (X1 X2)) (pair X2))))):(fofType->((fofType->fofType)->fofType))
% 1.25/1.50  d_Sing:=(fun (X0:fofType)=> ((d_UPair X0) X0)):(fofType->fofType)
% 1.25/1.50  d_Subq:=(fun (X0:fofType) (X1:fofType)=> (forall (X2:fofType), (((in X2) X0)->((in X2) X1)))):(fofType->(fofType->Prop))
% 1.25/1.50  d_UPair:=(fun (X0:fofType) (X1:fofType)=> ((repl (power (power emptyset))) (fun (X2:fofType)=> (((if ((in emptyset) X2)) X0) X1)))):(fofType->(fofType->fofType))
% 1.25/1.50  d_Union_closed:=(fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->((in (union X1)) X0)))):(fofType->Prop)
% 1.25/1.50  d_Unj:=(d_In_rec (fun (X0:fofType)=> (repl ((setminus X0) (d_Sing emptyset))))):(fofType->fofType)
% 1.25/1.50  d_ZF_closed:=(fun (X0:fofType)=> ((and ((and (d_Union_closed X0)) (d_Power_closed X0))) (d_Repl_closed X0))):(fofType->Prop)
% 1.25/1.50  d_and:=(fun (X0:Prop) (X1:Prop)=> (d_not ((l_ec X0) X1))):(Prop->(Prop->Prop))
% 1.25/1.50  d_not:=(fun (X0:Prop)=> ((imp X0) False)):(Prop->Prop)
% 1.25/1.50  d_pair:=(fun (X0:fofType) (X1:fofType)=> pair):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.25/1.50  dependent_unique_choice:(forall (A:Type) (B:(A->Type)) (R:(forall (x:A), ((B x)->Prop))), ((forall (x:A), ((ex (B x)) ((unique (B x)) (fun (y:(B x))=> ((R x) y)))))->((ex (forall (x:A), (B x))) (fun (f:(forall (x:A), (B x)))=> (forall (x:A), ((R x) (f x)))))))
% 1.25/1.50  e_fisi:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Pi X0) (fun (X3:fofType)=> X1))))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) ((d_Pi X0) (fun (X4:fofType)=> X1))))) (fun (X3:fofType)=> (((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> (((e_is X1) ((ap X2) X4)) ((ap X3) X4))))->(((e_is ((d_Pi X0) (fun (X4:fofType)=> X1))) X2) X3)))))))
% 1.25/1.50  e_in:=(fun (X0:fofType) (X1:(fofType->Prop)) (X2:fofType)=> X2):(fofType->((fofType->Prop)->(fofType->fofType)))
% 1.25/1.50  e_in_p:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Sep X0) X1)))) (fun (X2:fofType)=> ((is_of (((e_in X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X0))))))
% 1.25/1.50  e_inp:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Sep X0) X1)))) (fun (X2:fofType)=> (X1 (((e_in X0) X1) X2)))))
% 1.25/1.50  e_is:=(fun (X0:fofType) (X:fofType) (Y:fofType)=> (((eq fofType) X) Y)):(fofType->(fofType->(fofType->Prop)))
% 1.25/1.50  e_isp:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X0))) (fun (X3:fofType)=> ((X1 X2)->((((e_is X0) X2) X3)->(X1 X3))))))))
% 1.25/1.50  e_pair_p:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> ((is_of ((((d_pair X0) X1) X2) X3)) (fun (X4:fofType)=> ((in X4) ((setprod X0) X1)))))))))
% 1.25/1.50  ec3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> (((and3 ((l_ec X0) X1)) ((l_ec X1) X2)) ((l_ec X2) X0))):(Prop->(Prop->(Prop->Prop)))
% 1.25/1.50  ecect:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((e_in (power X0)) ((anec X0) X1))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 1.25/1.50  ecelt:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> ((d_Sep X0) (X1 X2))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 1.25/1.50  ecp:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> (((e_is (power X0)) X2) (((ecelt X0) X1) X3))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))
% 1.25/1.50  ect:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((d_Sep (power X0)) ((anec X0) X1))):(fofType->((fofType->(fofType->Prop))->fofType))
% 1.25/1.50  ectelt:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> (((ectset X0) X1) (((ecelt X0) X1) X2))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 1.25/1.50  ectset:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((out (power X0)) ((anec X0) X1))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 1.25/1.50  empty:=(fun (X0:fofType) (X1:fofType)=> ((all_of (fun (X2:fofType)=> ((in X2) X0))) ((non X0) (fun (X2:fofType)=> (((esti X0) X2) X1))))):(fofType->(fofType->Prop))
% 1.25/1.50  emptyset:fofType
% 1.25/1.50  eps:((fofType->Prop)->fofType)
% 1.25/1.50  eq:=(fun (T:Type) (a:T) (b:T)=> (forall (P:(T->Prop)), ((P a)->(P b)))):(forall (T:Type), (T->(T->Prop)))
% 1.25/1.50  eq_ref:=(fun (T:Type) (a:T) (P:(T->Prop)) (x:(P a))=> x):(forall (T:Type) (a:T), (((eq T) a) a))
% 1.25/1.50  eq_stepl:=(fun (T:Type) (a:T) (b:T) (c:T) (X:(((eq T) a) b)) (Y:(((eq T) a) c))=> ((((((eq_trans T) c) a) b) ((((eq_sym T) a) c) Y)) X)):(forall (T:Type) (a:T) (b:T) (c:T), ((((eq T) a) b)->((((eq T) a) c)->(((eq T) c) b))))
% 1.25/1.50  eq_substitution:=(fun (T:Type) (U:Type) (a:T) (b:T) (f:(T->U)) (H:(((eq T) a) b))=> ((H (fun (x:T)=> (((eq U) (f a)) (f x)))) ((eq_ref U) (f a)))):(forall (T:Type) (U:Type) (a:T) (b:T) (f:(T->U)), ((((eq T) a) b)->(((eq U) (f a)) (f b))))
% 1.25/1.50  eq_sym:=(fun (T:Type) (a:T) (b:T) (H:(((eq T) a) b))=> ((H (fun (x:T)=> (((eq T) x) a))) ((eq_ref T) a))):(forall (T:Type) (a:T) (b:T), ((((eq T) a) b)->(((eq T) b) a)))
% 1.25/1.50  eq_trans:=(fun (T:Type) (a:T) (b:T) (c:T) (X:(((eq T) a) b)) (Y:(((eq T) b) c))=> ((Y (fun (t:T)=> (((eq T) a) t))) X)):(forall (T:Type) (a:T) (b:T) (c:T), ((((eq T) a) b)->((((eq T) b) c)->(((eq T) a) c))))
% 1.25/1.50  esti:=(fun (X0:fofType)=> in):(fofType->(fofType->(fofType->Prop)))
% 1.25/1.50  estie:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((((esti X0) X2) ((d_Sep X0) X1))->(X1 X2)))))
% 1.25/1.50  estii:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((X1 X2)->(((esti X0) X2) ((d_Sep X0) X1))))))
% 1.25/1.50  eta_expansion:=(fun (A:Type) (B:Type)=> ((eta_expansion_dep A) (fun (x1:A)=> B))):(forall (A:Type) (B:Type) (f:(A->B)), (((eq (A->B)) f) (fun (x:A)=> (f x))))
% 1.25/1.50  eta_expansion_dep:=(fun (A:Type) (B:(A->Type)) (f:(forall (x:A), (B x)))=> (((((functional_extensionality_dep A) (fun (x1:A)=> (B x1))) f) (fun (x:A)=> (f x))) (fun (x:A) (P:((B x)->Prop)) (x0:(P (f x)))=> x0))):(forall (A:Type) (B:(A->Type)) (f:(forall (x:A), (B x))), (((eq (forall (x:A), (B x))) f) (fun (x:A)=> (f x))))
% 1.25/1.50  ex:(forall (A:Type), ((A->Prop)->Prop))
% 1.25/1.50  ex_ind:(forall (A:Type) (F:(A->Prop)) (P:Prop), ((forall (x:A), ((F x)->P))->(((ex A) F)->P)))
% 1.25/1.50  ex_intro:(forall (A:Type) (P:(A->Prop)) (x:A), ((P x)->((ex A) P)))
% 1.25/1.50  famunion:=(fun (X0:fofType) (X1:(fofType->fofType))=> (union ((repl X0) X1))):(fofType->((fofType->fofType)->fofType))
% 1.25/1.50  first:=(fun (X0:fofType) (X1:fofType)=> proj0):(fofType->(fofType->(fofType->fofType)))
% 1.25/1.50  first_p:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> ((is_of (((first X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X0))))))
% 1.25/1.50  firstis1:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> (((e_is X0) (((first X0) X1) ((((d_pair X0) X1) X2) X3))) X2))))))
% 1.25/1.50  fixfu2:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> ((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> ((all_of (fun (X5:fofType)=> ((in X5) X0))) (fun (X5:fofType)=> ((all_of (fun (X6:fofType)=> ((in X6) X0))) (fun (X6:fofType)=> ((all_of (fun (X7:fofType)=> ((in X7) X0))) (fun (X7:fofType)=> (((X1 X4) X5)->(((X1 X6) X7)->(((e_is X2) ((ap ((ap X3) X4)) X6)) ((ap ((ap X3) X5)) X7))))))))))))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))
% 1.25/1.50  fixfu:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> ((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> ((all_of (fun (X5:fofType)=> ((in X5) X0))) (fun (X5:fofType)=> (((X1 X4) X5)->(((e_is X2) ((ap X3) X4)) ((ap X3) X5)))))))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))
% 1.25/1.50  fofType:Type
% 1.25/1.50  functional_extensionality:=(fun (A:Type) (B:Type)=> ((functional_extensionality_dep A) (fun (x1:A)=> B))):(forall (A:Type) (B:Type) (f:(A->B)) (g:(A->B)), ((forall (x:A), (((eq B) (f x)) (g x)))->(((eq (A->B)) f) g)))
% 1.25/1.50  functional_extensionality_dep:(forall (A:Type) (B:(A->Type)) (f:(forall (x:A), (B x))) (g:(forall (x:A), (B x))), ((forall (x:A), (((eq (B x)) (f x)) (g x)))->(((eq (forall (x:A), (B x))) f) g)))
% 1.25/1.50  functional_extensionality_double:=(fun (A:Type) (B:Type) (C:Type) (f:(A->(B->C))) (g:(A->(B->C))) (x:(forall (x:A) (y:B), (((eq C) ((f x) y)) ((g x) y))))=> (((((functional_extensionality_dep A) (fun (x2:A)=> (B->C))) f) g) (fun (x0:A)=> (((((functional_extensionality_dep B) (fun (x3:B)=> C)) (f x0)) (g x0)) (x x0))))):(forall (A:Type) (B:Type) (C:Type) (f:(A->(B->C))) (g:(A->(B->C))), ((forall (x:A) (y:B), (((eq C) ((f x) y)) ((g x) y)))->(((eq (A->(B->C))) f) g)))
% 1.25/1.50  i1_s:=(d_Sep nat):((fofType->Prop)->fofType)
% 1.25/1.50  if:=(fun (X0:Prop) (X1:fofType) (X2:fofType)=> (eps (fun (X3:fofType)=> ((or ((and X0) (((eq fofType) X3) X1))) ((and (X0->False)) (((eq fofType) X3) X2)))))):(Prop->(fofType->(fofType->fofType)))
% 1.25/1.50  if_i_0:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((X0->False)->(((eq fofType) (((if X0) X1) X2)) X2)))
% 1.25/1.50  if_i_1:(forall (X0:Prop) (X1:fofType) (X2:fofType), (X0->(((eq fofType) (((if X0) X1) X2)) X1)))
% 1.25/1.50  if_i_correct:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((or ((and X0) (((eq fofType) (((if X0) X1) X2)) X1))) ((and (X0->False)) (((eq fofType) (((if X0) X1) X2)) X2))))
% 1.25/1.50  if_i_or:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((or (((eq fofType) (((if X0) X1) X2)) X1)) (((eq fofType) (((if X0) X1) X2)) X2)))
% 1.25/1.50  iff:=(fun (A:Prop) (B:Prop)=> ((and (A->B)) (B->A))):(Prop->(Prop->Prop))
% 1.25/1.50  iff_refl:=(fun (A:Prop)=> ((((conj (A->A)) (A->A)) (fun (H:A)=> H)) (fun (H:A)=> H))):(forall (P:Prop), ((iff P) P))
% 1.25/1.50  iff_sym:=(fun (A:Prop) (B:Prop) (H:((iff A) B))=> ((((conj (B->A)) (A->B)) (((proj2 (A->B)) (B->A)) H)) (((proj1 (A->B)) (B->A)) H))):(forall (A:Prop) (B:Prop), (((iff A) B)->((iff B) A)))
% 1.25/1.50  iff_trans:=(fun (A:Prop) (B:Prop) (C:Prop) (AB:((iff A) B)) (BC:((iff B) C))=> ((((conj (A->C)) (C->A)) (fun (x:A)=> ((((proj1 (B->C)) (C->B)) BC) ((((proj1 (A->B)) (B->A)) AB) x)))) (fun (x:C)=> ((((proj2 (A->B)) (B->A)) AB) ((((proj2 (B->C)) (C->B)) BC) x))))):(forall (A:Prop) (B:Prop) (C:Prop), (((iff A) B)->(((iff B) C)->((iff A) C))))
% 1.25/1.50  image:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((l_some X0) (fun (X4:fofType)=> (((e_is X1) X3) ((ap X2) X4))))):(fofType->(fofType->(fofType->(fofType->Prop))))
% 1.25/1.50  imp:=(fun (X0:Prop) (X1:Prop)=> (X0->X1)):(Prop->(Prop->Prop))
% 1.25/1.50  in:(fofType->(fofType->Prop))
% 1.25/1.50  incl:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((imp (((esti X0) X3) X1)) (((esti X0) X3) X2))))):(fofType->(fofType->(fofType->Prop)))
% 1.25/1.50  ind:=(fun (X0:fofType) (X1:(fofType->Prop))=> (eps (fun (X2:fofType)=> ((and ((in X2) X0)) (X1 X2))))):(fofType->((fofType->Prop)->fofType))
% 1.25/1.50  ind_p:(forall (X0:fofType) (X1:(fofType->Prop)), (((one X0) X1)->((is_of ((ind X0) X1)) (fun (X2:fofType)=> ((in X2) X0)))))
% 1.25/1.50  indeq2:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType)=> ((((indeq X0) X1) X2) (((((d_11_i X0) X1) X2) X3) X4))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->fofType))))))
% 1.25/1.50  indeq:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType)=> ((ind X2) (((((prop2 X0) X1) X2) X3) X4))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->fofType)))))
% 1.25/1.50  inj_h:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_Sigma X0) (fun (X5:fofType)=> ((ap X4) ((ap X3) X5))))):(fofType->(fofType->(fofType->(fofType->(fofType->fofType)))))
% 1.25/1.50  injective:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((all X0) (fun (X4:fofType)=> ((imp (((e_is X1) ((ap X2) X3)) ((ap X2) X4))) (((e_is X0) X3) X4))))))):(fofType->(fofType->(fofType->Prop)))
% 1.25/1.50  inverse:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X1) (fun (X3:fofType)=> (((if ((((image X0) X1) X2) X3)) ((((soft X0) X1) X2) X3)) emptyset)))):(fofType->(fofType->(fofType->fofType)))
% 1.25/1.50  invf:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X1) (((soft X0) X1) X2))):(fofType->(fofType->(fofType->fofType)))
% 1.25/1.50  is_of:=(fun (X0:fofType) (X1:(fofType->Prop))=> (X1 X0)):(fofType->((fofType->Prop)->Prop))
% 1.25/1.50  isseti:(forall (X0:fofType), ((all_of (fun (X1:fofType)=> ((in X1) (power X0)))) (fun (X1:fofType)=> ((all_of (fun (X2:fofType)=> ((in X2) (power X0)))) (fun (X2:fofType)=> ((((incl X0) X1) X2)->((((incl X0) X2) X1)->(((e_is (power X0)) X1) X2))))))))
% 1.25/1.50  ite:=(fun (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType)=> ((ind X1) ((((prop1 X0) X1) X2) X3))):(Prop->(fofType->(fofType->(fofType->fofType))))
% 1.25/1.50  k_EmptyAx:(((ex fofType) (fun (X0:fofType)=> ((in X0) emptyset)))->False)
% 1.25/1.50  k_If_In_01:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((X0->((in X1) X2))->((in (((if X0) X1) emptyset)) (((if X0) X2) (ordsucc emptyset)))))
% 1.25/1.50  k_If_In_then_E:(forall (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType), (X0->(((in X1) (((if X0) X2) X3))->((in X1) X2))))
% 1.25/1.50  k_In_0_1:((in emptyset) (ordsucc emptyset))
% 1.25/1.50  k_In_ind:(forall (X0:(fofType->Prop)), ((forall (X1:fofType), ((forall (X2:fofType), (((in X2) X1)->(X0 X2)))->(X0 X1)))->(forall (X1:fofType), (X0 X1))))
% 1.25/1.50  k_Pi_ext:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Pi X0) X1))->(forall (X3:fofType), (((in X3) ((d_Pi X0) X1))->((forall (X4:fofType), (((in X4) X0)->(((eq fofType) ((ap X2) X4)) ((ap X3) X4))))->(((eq fofType) X2) X3))))))
% 1.25/1.50  k_PowerE:(forall (X0:fofType) (X1:fofType), (((in X1) (power X0))->((d_Subq X1) X0)))
% 1.25/1.50  k_PowerEq:(forall (X0:fofType) (X1:fofType), ((iff ((in X1) (power X0))) ((d_Subq X1) X0)))
% 1.25/1.50  k_PowerI:(forall (X0:fofType) (X1:fofType), (((d_Subq X1) X0)->((in X1) (power X0))))
% 1.25/1.50  k_ReplEq:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), ((iff ((in X2) ((repl X0) X1))) ((ex fofType) (fun (X3:fofType)=> ((and ((in X3) X0)) (((eq fofType) X2) (X1 X3)))))))
% 1.25/1.50  k_Self_In_Power:(forall (X0:fofType), ((in X0) (power X0)))
% 1.25/1.50  k_SepE1:(forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) ((d_Sep X0) X1))->((in X2) X0)))
% 1.25/1.50  k_SepE2:(forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) ((d_Sep X0) X1))->(X1 X2)))
% 1.25/1.50  k_SepI:(forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) X0)->((X1 X2)->((in X2) ((d_Sep X0) X1)))))
% 1.25/1.50  k_Sigma_eta_proj0_proj1:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((and ((and (((eq fofType) ((pair (proj0 X2)) (_TPTP_proj1 X2))) X2)) ((in (proj0 X2)) X0))) ((in (_TPTP_proj1 X2)) (X1 (proj0 X2))))))
% 1.25/1.50  k_UnionEq:(forall (X0:fofType) (X1:fofType), ((iff ((in X1) (union X0))) ((ex fofType) (fun (X2:fofType)=> ((and ((in X1) X2)) ((in X2) X0))))))
% 1.25/1.50  k_UnivOf_In:(forall (X0:fofType), ((in X0) (univof X0)))
% 1.25/1.50  k_UnivOf_ZF_closed:(forall (X0:fofType), (d_ZF_closed (univof X0)))
% 1.25/1.50  l_ec:=(fun (X0:Prop) (X1:Prop)=> ((imp X0) (d_not X1))):(Prop->(Prop->Prop))
% 1.25/1.50  l_et:(forall (X0:Prop), ((wel X0)->X0))
% 1.25/1.50  l_iff:=(fun (X0:Prop) (X1:Prop)=> ((d_and ((imp X0) X1)) ((imp X1) X0))):(Prop->(Prop->Prop))
% 1.25/1.50  l_or:=(fun (X0:Prop)=> (imp (d_not X0))):(Prop->(Prop->Prop))
% 1.25/1.50  l_some:=(fun (X0:fofType) (X1:(fofType->Prop))=> (d_not ((all_of (fun (X2:fofType)=> ((in X2) X0))) ((non X0) X1)))):(fofType->((fofType->Prop)->Prop))
% 1.25/1.50  lam_Pi:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X0)->((in (X2 X3)) (X1 X3))))->((in ((d_Sigma X0) X2)) ((d_Pi X0) X1))))
% 1.25/1.50  nIn:=(fun (X0:fofType) (X1:fofType)=> (((in X0) X1)->False)):(fofType->(fofType->Prop))
% 1.25/1.50  n_1:=(ordsucc emptyset):fofType
% 1.25/1.50  n_1_p:((is_of n_1) (fun (X0:fofType)=> ((in X0) nat)))
% 1.25/1.50  n_all:=(all nat):((fofType->Prop)->Prop)
% 1.25/1.50  n_ax3:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((nis (ordsucc X0)) n_1)))
% 1.25/1.50  n_ax4:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> (((n_is (ordsucc X0)) (ordsucc X1))->((n_is X0) X1))))))
% 1.25/1.50  n_ax5:((all_of (fun (X0:fofType)=> ((in X0) (power nat)))) (fun (X0:fofType)=> ((cond1 X0)->((cond2 X0)->((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> ((n_in X1) X0)))))))
% 1.25/1.50  n_in:=(esti nat):(fofType->(fofType->Prop))
% 1.25/1.50  n_is:=(e_is nat):(fofType->(fofType->Prop))
% 1.25/1.50  n_one:=(one nat):((fofType->Prop)->Prop)
% 1.25/1.50  n_some:=(l_some nat):((fofType->Prop)->Prop)
% 1.25/1.50  nat:=((d_Sep omega) (fun (X0:fofType)=> (not (((eq fofType) X0) emptyset)))):fofType
% 1.25/1.50  nat_1:(nat_p (ordsucc emptyset))
% 1.25/1.50  nat_ind:(forall (X0:(fofType->Prop)), ((X0 emptyset)->((forall (X1:fofType), ((nat_p X1)->((X0 X1)->(X0 (ordsucc X1)))))->(forall (X1:fofType), ((nat_p X1)->(X0 X1))))))
% 1.25/1.50  nat_inv:(forall (X0:fofType), ((nat_p X0)->((or (((eq fofType) X0) emptyset)) ((ex fofType) (fun (X1:fofType)=> ((and (nat_p X1)) (((eq fofType) X0) (ordsucc X1))))))))
% 1.25/1.50  nat_ordsucc:(forall (X0:fofType), ((nat_p X0)->(nat_p (ordsucc X0))))
% 1.25/1.50  nat_p:=(fun (X0:fofType)=> (forall (X1:(fofType->Prop)), ((X1 emptyset)->((forall (X2:fofType), ((X1 X2)->(X1 (ordsucc X2))))->(X1 X0))))):(fofType->Prop)
% 1.25/1.50  nat_p_omega:(forall (X0:fofType), ((nat_p X0)->((in X0) omega)))
% 1.25/1.50  neq_ordsucc_0:(forall (X0:fofType), (not (((eq fofType) (ordsucc X0)) emptyset)))
% 1.25/1.50  nis:=(fun (X0:fofType) (X1:fofType)=> (d_not ((n_is X0) X1))):(fofType->(fofType->Prop))
% 1.25/1.50  nissetprop:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((d_and (((esti X0) X3) X1)) (d_not (((esti X0) X3) X2)))):(fofType->(fofType->(fofType->(fofType->Prop))))
% 1.25/1.50  non:=(fun (X0:fofType) (X1:(fofType->Prop)) (X2:fofType)=> (d_not (X1 X2))):(fofType->((fofType->Prop)->(fofType->Prop)))
% 1.25/1.50  nonempty:=(fun (X0:fofType) (X1:fofType)=> ((l_some X0) (fun (X2:fofType)=> (((esti X0) X2) X1)))):(fofType->(fofType->Prop))
% 1.25/1.50  not:=(fun (P:Prop)=> (P->False)):(Prop->Prop)
% 1.25/1.50  obvious:=((imp False) False):Prop
% 1.25/1.50  omega:=((d_Sep (univof emptyset)) nat_p):fofType
% 1.25/1.50  omega_nat_p:(forall (X0:fofType), (((in X0) omega)->(nat_p X0)))
% 1.25/1.50  one:=(fun (X0:fofType) (X1:(fofType->Prop))=> ((d_and ((amone X0) X1)) ((l_some X0) X1))):(fofType->((fofType->Prop)->Prop))
% 1.25/1.50  oneax:(forall (X0:fofType) (X1:(fofType->Prop)), (((one X0) X1)->(X1 ((ind X0) X1))))
% 1.25/1.50  or3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((l_or X0) ((l_or X1) X2))):(Prop->(Prop->(Prop->Prop)))
% 1.25/1.50  or:(Prop->(Prop->Prop))
% 1.25/1.50  or_comm_i:=(fun (A:Prop) (B:Prop) (H:((or A) B))=> ((((((or_ind A) B) ((or B) A)) ((or_intror B) A)) ((or_introl B) A)) H)):(forall (A:Prop) (B:Prop), (((or A) B)->((or B) A)))
% 1.25/1.50  or_first:=(fun (A:Prop) (B:Prop)=> (((((or_ind A) B) ((B->A)->A)) (fun (x:A) (x0:(B->A))=> x)) (fun (x:B) (x0:(B->A))=> (x0 x)))):(forall (A:Prop) (B:Prop), (((or A) B)->((B->A)->A)))
% 1.25/1.50  or_ind:(forall (A:Prop) (B:Prop) (P:Prop), ((A->P)->((B->P)->(((or A) B)->P))))
% 1.25/1.50  or_introl:(forall (A:Prop) (B:Prop), (A->((or A) B)))
% 1.25/1.50  or_intror:(forall (A:Prop) (B:Prop), (B->((or A) B)))
% 1.25/1.50  or_second:=(fun (A:Prop) (B:Prop) (x:((or A) B))=> (((or_first B) A) (((or_comm_i A) B) x))):(forall (A:Prop) (B:Prop), (((or A) B)->((A->B)->B)))
% 1.25/1.50  ordsucc:=(fun (X0:fofType)=> ((binunion X0) (d_Sing X0))):(fofType->fofType)
% 1.25/1.50  ordsucc_inj:(forall (X0:fofType) (X1:fofType), ((((eq fofType) (ordsucc X0)) (ordsucc X1))->(((eq fofType) X0) X1)))
% 1.25/1.50  orec3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((d_and (((or3 X0) X1) X2)) (((ec3 X0) X1) X2))):(Prop->(Prop->(Prop->Prop)))
% 1.25/1.50  orec:=(fun (X0:Prop) (X1:Prop)=> ((d_and ((l_or X0) X1)) ((l_ec X0) X1))):(Prop->(Prop->Prop))
% 1.25/1.50  otax1:(forall (X0:fofType) (X1:(fofType->Prop)), (((injective ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1))))
% 1.25/1.50  otax2:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((X1 X2)->((((image ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1))) X2)))))
% 1.25/1.50  out:=(fun (X0:fofType) (X1:(fofType->Prop))=> (((soft ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1)))):(fofType->((fofType->Prop)->(fofType->fofType)))
% 1.25/1.50  pair:=(fun (X0:fofType) (X1:fofType)=> ((binunion ((repl X0) d_Inj0)) ((repl X1) d_Inj1))):(fofType->(fofType->fofType))
% 1.25/1.50  pair_Sigma:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) X0)->(forall (X3:fofType), (((in X3) (X1 X2))->((in ((pair X2) X3)) ((d_Sigma X0) X1))))))
% 1.25/1.50  pair_p:=(fun (X0:fofType)=> (((eq fofType) ((pair ((ap X0) emptyset)) ((ap X0) (ordsucc emptyset)))) X0)):(fofType->Prop)
% 1.25/1.50  pairis1:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> (((e_is ((setprod X0) X1)) ((((d_pair X0) X1) (((first X0) X1) X2)) (((second X0) X1) X2))) X2))))
% 1.25/1.50  power:(fofType->fofType)
% 1.25/1.50  proj0:=(fun (X0:fofType)=> (((d_ReplSep X0) (fun (X1:fofType)=> ((ex fofType) (fun (X2:fofType)=> (((eq fofType) (d_Inj0 X2)) X1))))) d_Unj)):(fofType->fofType)
% 1.25/1.50  proj0_Sigma:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((in (proj0 X2)) X0)))
% 1.25/1.50  proj0_pair_eq:(forall (X0:fofType) (X1:fofType), (((eq fofType) (proj0 ((pair X0) X1))) X0))
% 1.25/1.50  proj1:(forall (A:Prop) (B:Prop), (((and A) B)->A))
% 1.25/1.50  proj1_Sigma:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((in (_TPTP_proj1 X2)) (X1 (proj0 X2)))))
% 1.25/1.50  proj1_pair_eq:(forall (X0:fofType) (X1:fofType), (((eq fofType) (_TPTP_proj1 ((pair X0) X1))) X1))
% 1.25/1.50  proj2:(forall (A:Prop) (B:Prop), (((and A) B)->B))
% 1.25/1.50  proj_Sigma_eta:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->(((eq fofType) ((pair (proj0 X2)) (_TPTP_proj1 X2))) X2)))
% 1.25/1.50  prop1:=(fun (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_and ((imp X0) (((e_is X1) X4) X2))) ((imp (d_not X0)) (((e_is X1) X4) X3)))):(Prop->(fofType->(fofType->(fofType->(fofType->Prop)))))
% 1.25/1.50  prop2:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType) (X5:fofType)=> ((l_some X0) ((((((d_10_prop1 X0) X1) X2) X3) X4) X5))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->Prop))))))
% 1.25/1.50  r_ec:=(fun (X0:Prop) (X1:Prop)=> (X0->(d_not X1))):(Prop->(Prop->Prop))
% 1.25/1.50  refis:(forall (X0:fofType), ((all_of (fun (X1:fofType)=> ((in X1) X0))) (fun (X1:fofType)=> (((e_is X0) X1) X1))))
% 1.25/1.50  relational_choice:(forall (A:Type) (B:Type) (R:(A->(B->Prop))), ((forall (x:A), ((ex B) (fun (y:B)=> ((R x) y))))->((ex (A->(B->Prop))) (fun (R':(A->(B->Prop)))=> ((and ((((subrelation A) B) R') R)) (forall (x:A), ((ex B) ((unique B) (fun (y:B)=> ((R' x) y))))))))))
% 1.25/1.50  repl:(fofType->((fofType->fofType)->fofType))
% 1.25/1.50  satz1:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> (((nis X0) X1)->((nis (ordsucc X0)) (ordsucc X1)))))))
% 1.25/1.50  satz2:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((nis (ordsucc X0)) X0)))
% 1.25/1.50  satz3:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> (((nis X0) n_1)->(n_some (fun (X1:fofType)=> ((n_is X0) (ordsucc X1)))))))
% 1.25/1.50  second:=(fun (X0:fofType) (X1:fofType)=> _TPTP_proj1):(fofType->(fofType->(fofType->fofType)))
% 1.25/1.50  second_p:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> ((is_of (((second X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X1))))))
% 1.25/1.50  secondis1:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> (((e_is X1) (((second X0) X1) ((((d_pair X0) X1) X2) X3))) X3))))))
% 1.31/1.51  set_ext:(forall (X0:fofType) (X1:fofType), (((d_Subq X0) X1)->(((d_Subq X1) X0)->(((eq fofType) X0) X1))))
% 1.31/1.51  setminus:=(fun (X0:fofType) (X1:fofType)=> ((d_Sep X0) (fun (X2:fofType)=> ((nIn X2) X1)))):(fofType->(fofType->fofType))
% 1.31/1.51  setof_p:(forall (X0:fofType) (X1:(fofType->Prop)), ((is_of ((d_Sep X0) X1)) (fun (X2:fofType)=> ((in X2) (power X0)))))
% 1.31/1.51  setprod:=(fun (X0:fofType) (X1:fofType)=> ((d_Sigma X0) (fun (X2:fofType)=> X1))):(fofType->(fofType->fofType))
% 1.31/1.51  soft:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((ind X0) (fun (X4:fofType)=> (((e_is X1) X3) ((ap X2) X4))))):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.31/1.51  st_disj:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((l_ec (((esti X0) X3) X1)) (((esti X0) X3) X2))))):(fofType->(fofType->(fofType->Prop)))
% 1.31/1.51  subrelation:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (R':(A->(B->Prop)))=> (forall (x:A) (y:B), (((R x) y)->((R' x) y)))):(forall (A:Type) (B:Type), ((A->(B->Prop))->((A->(B->Prop))->Prop)))
% 1.31/1.51  suc_p:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((is_of (ordsucc X0)) (fun (X1:fofType)=> ((in X1) nat)))))
% 1.31/1.51  surjective:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X1) (((image X0) X1) X2))):(fofType->(fofType->(fofType->Prop)))
% 1.31/1.51  tofs:=(fun (X0:fofType) (X1:fofType)=> ap):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.31/1.51  union:(fofType->fofType)
% 1.31/1.51  unique:=(fun (A:Type) (P:(A->Prop)) (x:A)=> ((and (P x)) (forall (x':A), ((P x')->(((eq A) x) x'))))):(forall (A:Type), ((A->Prop)->(A->Prop)))
% 1.31/1.51  unique_choice:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (x:(forall (x:A), ((ex B) ((unique B) (fun (y:B)=> ((R x) y))))))=> ((((dependent_unique_choice A) (fun (x2:A)=> B)) R) x)):(forall (A:Type) (B:Type) (R:(A->(B->Prop))), ((forall (x:A), ((ex B) ((unique B) (fun (y:B)=> ((R x) y)))))->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), ((R x) (f x)))))))
% 1.31/1.51  univof:(fofType->fofType)
% 1.31/1.51  unmore:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sep X0) (fun (X3:fofType)=> ((l_some X1) (fun (X4:fofType)=> (((esti X0) X3) ((ap X2) X4))))))):(fofType->(fofType->(fofType->fofType)))
% 1.31/1.51  wel:=(fun (X0:Prop)=> (d_not (d_not X0))):(Prop->Prop)
% 1.31/1.51  wissel:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X0) (((wissel_wb X0) X1) X2))):(fofType->(fofType->(fofType->fofType)))
% 1.31/1.51  wissel_wa:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((((ite (((e_is X0) X3) X1)) X0) X2) X3)):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.31/1.51  wissel_wb:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((((ite (((e_is X0) X3) X2)) X0) X1) ((((wissel_wa X0) X1) X2) X3))):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.31/1.51  xi_ext:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X0)->(((eq fofType) (X1 X3)) (X2 X3))))->(((eq fofType) ((d_Sigma X0) X1)) ((d_Sigma X0) X2))))]
% 1.31/1.51  ---termsubcontext
% 1.31/1.51  [[[[False:Prop
% 1.31/1.51  False_rect:(forall (P:Type), (False->P))
% 1.31/1.51  I:True
% 1.31/1.51  NNPP:=(fun (P:Prop) (H:(not (not P)))=> ((fun (C:((or P) (not P)))=> ((((((or_ind P) (not P)) P) (fun (H0:P)=> H0)) (fun (N:(not P))=> ((False_rect P) (H N)))) C)) (classic P))):(forall (P:Prop), ((not (not P))->P))
% 1.31/1.51  True:Prop
% 1.31/1.51  _TPTP_proj1:=(fun (X0:fofType)=> (((d_ReplSep X0) (fun (X1:fofType)=> ((ex fofType) (fun (X2:fofType)=> (((eq fofType) (d_Inj1 X2)) X1))))) d_Unj)):(fofType->fofType)
% 1.31/1.51  all:=(fun (X0:fofType)=> (all_of (fun (X1:fofType)=> ((in X1) X0)))):(fofType->((fofType->Prop)->Prop))
% 1.31/1.51  all_of:=(fun (X0:(fofType->Prop)) (X1:(fofType->Prop))=> (forall (X2:fofType), (((is_of X2) X0)->(X1 X2)))):((fofType->Prop)->((fofType->Prop)->Prop))
% 1.31/1.51  amone:=(fun (X0:fofType) (X1:(fofType->Prop))=> ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X0))) (fun (X3:fofType)=> ((X1 X2)->((X1 X3)->(((e_is X0) X2) X3)))))))):(fofType->((fofType->Prop)->Prop))
% 1.31/1.51  and3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((d_and X0) ((d_and X1) X2))):(Prop->(Prop->(Prop->Prop)))
% 1.31/1.51  and:(Prop->(Prop->Prop))
% 1.31/1.51  and_comm_i:=(fun (A:Prop) (B:Prop) (H:((and A) B))=> ((((conj B) A) (((proj2 A) B) H)) (((proj1 A) B) H))):(forall (A:Prop) (B:Prop), (((and A) B)->((and B) A)))
% 1.31/1.51  and_rect:=(fun (A:Prop) (B:Prop) (P:Type) (X:(A->(B->P))) (H:((and A) B))=> ((X (((proj1 A) B) H)) (((proj2 A) B) H))):(forall (A:Prop) (B:Prop) (P:Type), ((A->(B->P))->(((and A) B)->P)))
% 1.31/1.51  anec:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> ((l_some X0) (((ecp X0) X1) X2))):(fofType->((fofType->(fofType->Prop))->(fofType->Prop)))
% 1.31/1.51  ap:=(fun (X0:fofType) (X1:fofType)=> (((d_ReplSep X0) (fun (X2:fofType)=> ((ex fofType) (fun (X3:fofType)=> (((eq fofType) X2) ((pair X1) X3)))))) _TPTP_proj1)):(fofType->(fofType->fofType))
% 1.31/1.51  ap_Pi:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType) (X3:fofType), (((in X2) ((d_Pi X0) X1))->(((in X3) X0)->((in ((ap X2) X3)) (X1 X3)))))
% 1.31/1.51  beta:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) X0)->(((eq fofType) ((ap ((d_Sigma X0) X1)) X2)) (X1 X2))))
% 1.31/1.51  bijective:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_and (((injective X0) X1) X2)) (((surjective X0) X1) X2))):(fofType->(fofType->(fofType->Prop)))
% 1.31/1.51  binunion:=(fun (X0:fofType) (X1:fofType)=> (union ((d_UPair X0) X1))):(fofType->(fofType->fofType))
% 1.31/1.51  changef:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_Sigma X0) (fun (X5:fofType)=> ((ap X2) ((ap (((wissel X0) X3) X4)) X5))))):(fofType->(fofType->(fofType->(fofType->(fofType->fofType)))))
% 1.31/1.51  choice:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (x:(forall (x:A), ((ex B) (fun (y:B)=> ((R x) y)))))=> (((fun (P:Prop) (x0:(forall (x0:(A->(B->Prop))), (((and ((((subrelation A) B) x0) R)) (forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y))))))->P)))=> (((((ex_ind (A->(B->Prop))) (fun (R':(A->(B->Prop)))=> ((and ((((subrelation A) B) R') R)) (forall (x0:A), ((ex B) ((unique B) (fun (y:B)=> ((R' x0) y)))))))) P) x0) ((((relational_choice A) B) R) x))) ((ex (A->B)) (fun (f:(A->B))=> (forall (x0:A), ((R x0) (f x0)))))) (fun (x0:(A->(B->Prop))) (x1:((and ((((subrelation A) B) x0) R)) (forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y)))))))=> (((fun (P:Type) (x2:(((((subrelation A) B) x0) R)->((forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y)))))->P)))=> (((((and_rect ((((subrelation A) B) x0) R)) (forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y)))))) P) x2) x1)) ((ex (A->B)) (fun (f:(A->B))=> (forall (x0:A), ((R x0) (f x0)))))) (fun (x2:((((subrelation A) B) x0) R)) (x3:(forall (x00:A), ((ex B) ((unique B) (fun (y:B)=> ((x0 x00) y))))))=> (((fun (P:Prop) (x4:(forall (x1:(A->B)), ((forall (x10:A), ((x0 x10) (x1 x10)))->P)))=> (((((ex_ind (A->B)) (fun (f:(A->B))=> (forall (x1:A), ((x0 x1) (f x1))))) P) x4) ((((unique_choice A) B) x0) x3))) ((ex (A->B)) (fun (f:(A->B))=> (forall (x0:A), ((R x0) (f x0)))))) (fun (x4:(A->B)) (x5:(forall (x10:A), ((x0 x10) (x4 x10))))=> ((((ex_intro (A->B)) (fun (f:(A->B))=> (forall (x0:A), ((R x0) (f x0))))) x4) (fun (x00:A)=> (((x2 x00) (x4 x00)) (x5 x00))))))))))):(forall (A:Type) (B:Type) (R:(A->(B->Prop))), ((forall (x:A), ((ex B) (fun (y:B)=> ((R x) y))))->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), ((R x) (f x)))))))
% 1.31/1.51  choice_operator:=(fun (A:Type) (a:A)=> ((((classical_choice (A->Prop)) A) (fun (x3:(A->Prop))=> x3)) a)):(forall (A:Type), (A->((ex ((A->Prop)->A)) (fun (co:((A->Prop)->A))=> (forall (P:(A->Prop)), (((ex A) (fun (x:A)=> (P x)))->(P (co P))))))))
% 1.31/1.51  classic:(forall (P:Prop), ((or P) (not P)))
% 1.31/1.51  classical_choice:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (b:B)=> ((fun (C:((forall (x:A), ((ex B) (fun (y:B)=> (((fun (x0:A) (y0:B)=> (((ex B) (fun (z:B)=> ((R x0) z)))->((R x0) y0))) x) y))))->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((fun (x0:A) (y:B)=> (((ex B) (fun (z:B)=> ((R x0) z)))->((R x0) y))) x) (f x)))))))=> (C (fun (x:A)=> ((fun (C0:((or ((ex B) (fun (z:B)=> ((R x) z)))) (not ((ex B) (fun (z:B)=> ((R x) z))))))=> ((((((or_ind ((ex B) (fun (z:B)=> ((R x) z)))) (not ((ex B) (fun (z:B)=> ((R x) z))))) ((ex B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y))))) ((((ex_ind B) (fun (z:B)=> ((R x) z))) ((ex B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y))))) (fun (y:B) (H:((R x) y))=> ((((ex_intro B) (fun (y0:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y0)))) y) (fun (_:((ex B) (fun (z:B)=> ((R x) z))))=> H))))) (fun (N:(not ((ex B) (fun (z:B)=> ((R x) z)))))=> ((((ex_intro B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y)))) b) (fun (H:((ex B) (fun (z:B)=> ((R x) z))))=> ((False_rect ((R x) b)) (N H)))))) C0)) (classic ((ex B) (fun (z:B)=> ((R x) z)))))))) (((choice A) B) (fun (x:A) (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y)))))):(forall (A:Type) (B:Type) (R:(A->(B->Prop))), (B->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((ex B) (fun (y:B)=> ((R x) y)))->((R x) (f x))))))))
% 1.31/1.51  cond1:=(n_in n_1):(fofType->Prop)
% 1.31/1.51  cond2:=(fun (X0:fofType)=> (n_all (fun (X1:fofType)=> ((imp ((n_in X1) X0)) ((n_in (ordsucc X1)) X0))))):(fofType->Prop)
% 1.31/1.51  conj:(forall (A:Prop) (B:Prop), (A->(B->((and A) B))))
% 1.31/1.51  d_10_prop1:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType) (X5:fofType) (X6:fofType)=> ((d_and (((esti X0) X6) (((ecect X0) X1) X4))) (((e_is X2) ((ap X3) X6)) X5))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->(fofType->Prop)))))))
% 1.31/1.51  d_11_i:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> (((indeq X0) X1) ((d_Pi X0) (fun (X3:fofType)=> X2)))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->fofType)))))
% 1.31/1.51  d_22_prop1:=(fun (X0:fofType)=> ((nis (ordsucc X0)) X0)):(fofType->Prop)
% 1.31/1.51  d_23_prop1:=(fun (X0:fofType)=> ((l_or ((n_is X0) n_1)) (n_some (fun (X1:fofType)=> ((n_is X0) (ordsucc X1)))))):(fofType->Prop)
% 1.31/1.51  d_In_rec:=(fun (X0:(fofType->((fofType->fofType)->fofType))) (X1:fofType)=> (eps ((d_In_rec_G X0) X1))):((fofType->((fofType->fofType)->fofType))->(fofType->fofType))
% 1.31/1.51  d_In_rec_G:=(fun (X0:(fofType->((fofType->fofType)->fofType))) (X1:fofType) (X2:fofType)=> (forall (X3:(fofType->(fofType->Prop))), ((forall (X4:fofType) (X5:(fofType->fofType)), ((forall (X6:fofType), (((in X6) X4)->((X3 X6) (X5 X6))))->((X3 X4) ((X0 X4) X5))))->((X3 X1) X2)))):((fofType->((fofType->fofType)->fofType))->(fofType->(fofType->Prop)))
% 1.31/1.51  d_Inj0:=(fun (X0:fofType)=> ((repl X0) d_Inj1)):(fofType->fofType)
% 1.31/1.51  d_Inj1:=(d_In_rec (fun (X0:fofType) (X1:(fofType->fofType))=> ((binunion (d_Sing emptyset)) ((repl X0) X1)))):(fofType->fofType)
% 1.31/1.51  d_Pi:=(fun (X0:fofType) (X1:(fofType->fofType))=> ((d_Sep (power ((d_Sigma X0) (fun (X2:fofType)=> (union (X1 X2)))))) (fun (X2:fofType)=> (forall (X3:fofType), (((in X3) X0)->((in ((ap X2) X3)) (X1 X3))))))):(fofType->((fofType->fofType)->fofType))
% 1.31/1.51  d_Power_closed:=(fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->((in (power X1)) X0)))):(fofType->Prop)
% 1.31/1.51  d_ReplSep:=(fun (X0:fofType) (X1:(fofType->Prop))=> (repl ((d_Sep X0) X1))):(fofType->((fofType->Prop)->((fofType->fofType)->fofType)))
% 1.31/1.51  d_Repl_closed:=(fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->(forall (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X1)->((in (X2 X3)) X0)))->((in ((repl X1) X2)) X0)))))):(fofType->Prop)
% 1.31/1.51  d_Sep:=(fun (X0:fofType) (X1:(fofType->Prop))=> (((if ((ex fofType) (fun (X2:fofType)=> ((and ((in X2) X0)) (X1 X2))))) ((repl X0) (fun (X2:fofType)=> (((if (X1 X2)) X2) (eps (fun (X3:fofType)=> ((and ((in X3) X0)) (X1 X3)))))))) emptyset)):(fofType->((fofType->Prop)->fofType))
% 1.31/1.51  d_Sigma:=(fun (X0:fofType) (X1:(fofType->fofType))=> ((famunion X0) (fun (X2:fofType)=> ((repl (X1 X2)) (pair X2))))):(fofType->((fofType->fofType)->fofType))
% 1.31/1.51  d_Sing:=(fun (X0:fofType)=> ((d_UPair X0) X0)):(fofType->fofType)
% 1.31/1.51  d_Subq:=(fun (X0:fofType) (X1:fofType)=> (forall (X2:fofType), (((in X2) X0)->((in X2) X1)))):(fofType->(fofType->Prop))
% 1.31/1.51  d_UPair:=(fun (X0:fofType) (X1:fofType)=> ((repl (power (power emptyset))) (fun (X2:fofType)=> (((if ((in emptyset) X2)) X0) X1)))):(fofType->(fofType->fofType))
% 1.31/1.51  d_Union_closed:=(fun (X0:fofType)=> (forall (X1:fofType), (((in X1) X0)->((in (union X1)) X0)))):(fofType->Prop)
% 1.31/1.51  d_Unj:=(d_In_rec (fun (X0:fofType)=> (repl ((setminus X0) (d_Sing emptyset))))):(fofType->fofType)
% 1.31/1.51  d_ZF_closed:=(fun (X0:fofType)=> ((and ((and (d_Union_closed X0)) (d_Power_closed X0))) (d_Repl_closed X0))):(fofType->Prop)
% 1.31/1.51  d_and:=(fun (X0:Prop) (X1:Prop)=> (d_not ((l_ec X0) X1))):(Prop->(Prop->Prop))
% 1.31/1.51  d_not:=(fun (X0:Prop)=> ((imp X0) False)):(Prop->Prop)
% 1.31/1.51  d_pair:=(fun (X0:fofType) (X1:fofType)=> pair):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.31/1.51  dependent_unique_choice:(forall (A:Type) (B:(A->Type)) (R:(forall (x:A), ((B x)->Prop))), ((forall (x:A), ((ex (B x)) ((unique (B x)) (fun (y:(B x))=> ((R x) y)))))->((ex (forall (x:A), (B x))) (fun (f:(forall (x:A), (B x)))=> (forall (x:A), ((R x) (f x)))))))
% 1.31/1.51  e_fisi:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Pi X0) (fun (X3:fofType)=> X1))))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) ((d_Pi X0) (fun (X4:fofType)=> X1))))) (fun (X3:fofType)=> (((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> (((e_is X1) ((ap X2) X4)) ((ap X3) X4))))->(((e_is ((d_Pi X0) (fun (X4:fofType)=> X1))) X2) X3)))))))
% 1.31/1.51  e_in:=(fun (X0:fofType) (X1:(fofType->Prop)) (X2:fofType)=> X2):(fofType->((fofType->Prop)->(fofType->fofType)))
% 1.31/1.51  e_in_p:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Sep X0) X1)))) (fun (X2:fofType)=> ((is_of (((e_in X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X0))))))
% 1.31/1.51  e_inp:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) ((d_Sep X0) X1)))) (fun (X2:fofType)=> (X1 (((e_in X0) X1) X2)))))
% 1.31/1.51  e_is:=(fun (X0:fofType) (X:fofType) (Y:fofType)=> (((eq fofType) X) Y)):(fofType->(fofType->(fofType->Prop)))
% 1.31/1.51  e_isp:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X0))) (fun (X3:fofType)=> ((X1 X2)->((((e_is X0) X2) X3)->(X1 X3))))))))
% 1.31/1.51  e_pair_p:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> ((is_of ((((d_pair X0) X1) X2) X3)) (fun (X4:fofType)=> ((in X4) ((setprod X0) X1)))))))))
% 1.31/1.51  ec3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> (((and3 ((l_ec X0) X1)) ((l_ec X1) X2)) ((l_ec X2) X0))):(Prop->(Prop->(Prop->Prop)))
% 1.31/1.51  ecect:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((e_in (power X0)) ((anec X0) X1))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 1.31/1.51  ecelt:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> ((d_Sep X0) (X1 X2))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 1.31/1.51  ecp:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> (((e_is (power X0)) X2) (((ecelt X0) X1) X3))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))
% 1.31/1.51  ect:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((d_Sep (power X0)) ((anec X0) X1))):(fofType->((fofType->(fofType->Prop))->fofType))
% 1.31/1.51  ectelt:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType)=> (((ectset X0) X1) (((ecelt X0) X1) X2))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 1.31/1.51  ectset:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop)))=> ((out (power X0)) ((anec X0) X1))):(fofType->((fofType->(fofType->Prop))->(fofType->fofType)))
% 1.31/1.51  empty:=(fun (X0:fofType) (X1:fofType)=> ((all_of (fun (X2:fofType)=> ((in X2) X0))) ((non X0) (fun (X2:fofType)=> (((esti X0) X2) X1))))):(fofType->(fofType->Prop))
% 1.31/1.51  emptyset:fofType
% 1.31/1.51  eps:((fofType->Prop)->fofType)
% 1.31/1.51  eq:=(fun (T:Type) (a:T) (b:T)=> (forall (P:(T->Prop)), ((P a)->(P b)))):(forall (T:Type), (T->(T->Prop)))
% 1.31/1.51  eq_ref:=(fun (T:Type) (a:T) (P:(T->Prop)) (x:(P a))=> x):(forall (T:Type) (a:T), (((eq T) a) a))
% 1.31/1.51  eq_stepl:=(fun (T:Type) (a:T) (b:T) (c:T) (X:(((eq T) a) b)) (Y:(((eq T) a) c))=> ((((((eq_trans T) c) a) b) ((((eq_sym T) a) c) Y)) X)):(forall (T:Type) (a:T) (b:T) (c:T), ((((eq T) a) b)->((((eq T) a) c)->(((eq T) c) b))))
% 1.31/1.51  eq_substitution:=(fun (T:Type) (U:Type) (a:T) (b:T) (f:(T->U)) (H:(((eq T) a) b))=> ((H (fun (x:T)=> (((eq U) (f a)) (f x)))) ((eq_ref U) (f a)))):(forall (T:Type) (U:Type) (a:T) (b:T) (f:(T->U)), ((((eq T) a) b)->(((eq U) (f a)) (f b))))
% 1.31/1.51  eq_sym:=(fun (T:Type) (a:T) (b:T) (H:(((eq T) a) b))=> ((H (fun (x:T)=> (((eq T) x) a))) ((eq_ref T) a))):(forall (T:Type) (a:T) (b:T), ((((eq T) a) b)->(((eq T) b) a)))
% 1.31/1.51  eq_trans:=(fun (T:Type) (a:T) (b:T) (c:T) (X:(((eq T) a) b)) (Y:(((eq T) b) c))=> ((Y (fun (t:T)=> (((eq T) a) t))) X)):(forall (T:Type) (a:T) (b:T) (c:T), ((((eq T) a) b)->((((eq T) b) c)->(((eq T) a) c))))
% 1.31/1.51  esti:=(fun (X0:fofType)=> in):(fofType->(fofType->(fofType->Prop)))
% 1.31/1.51  estie:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((((esti X0) X2) ((d_Sep X0) X1))->(X1 X2)))))
% 1.31/1.51  estii:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((X1 X2)->(((esti X0) X2) ((d_Sep X0) X1))))))
% 1.31/1.51  eta_expansion:=(fun (A:Type) (B:Type)=> ((eta_expansion_dep A) (fun (x1:A)=> B))):(forall (A:Type) (B:Type) (f:(A->B)), (((eq (A->B)) f) (fun (x:A)=> (f x))))
% 1.31/1.51  eta_expansion_dep:=(fun (A:Type) (B:(A->Type)) (f:(forall (x:A), (B x)))=> (((((functional_extensionality_dep A) (fun (x1:A)=> (B x1))) f) (fun (x:A)=> (f x))) (fun (x:A) (P:((B x)->Prop)) (x0:(P (f x)))=> x0))):(forall (A:Type) (B:(A->Type)) (f:(forall (x:A), (B x))), (((eq (forall (x:A), (B x))) f) (fun (x:A)=> (f x))))
% 1.31/1.51  ex:(forall (A:Type), ((A->Prop)->Prop))
% 1.31/1.51  ex_ind:(forall (A:Type) (F:(A->Prop)) (P:Prop), ((forall (x:A), ((F x)->P))->(((ex A) F)->P)))
% 1.31/1.51  ex_intro:(forall (A:Type) (P:(A->Prop)) (x:A), ((P x)->((ex A) P)))
% 1.31/1.51  famunion:=(fun (X0:fofType) (X1:(fofType->fofType))=> (union ((repl X0) X1))):(fofType->((fofType->fofType)->fofType))
% 1.31/1.51  first:=(fun (X0:fofType) (X1:fofType)=> proj0):(fofType->(fofType->(fofType->fofType)))
% 1.31/1.51  first_p:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> ((is_of (((first X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X0))))))
% 1.31/1.51  firstis1:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> (((e_is X0) (((first X0) X1) ((((d_pair X0) X1) X2) X3))) X2))))))
% 1.31/1.52  fixfu2:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> ((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> ((all_of (fun (X5:fofType)=> ((in X5) X0))) (fun (X5:fofType)=> ((all_of (fun (X6:fofType)=> ((in X6) X0))) (fun (X6:fofType)=> ((all_of (fun (X7:fofType)=> ((in X7) X0))) (fun (X7:fofType)=> (((X1 X4) X5)->(((X1 X6) X7)->(((e_is X2) ((ap ((ap X3) X4)) X6)) ((ap ((ap X3) X5)) X7))))))))))))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))
% 1.31/1.52  fixfu:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType)=> ((all_of (fun (X4:fofType)=> ((in X4) X0))) (fun (X4:fofType)=> ((all_of (fun (X5:fofType)=> ((in X5) X0))) (fun (X5:fofType)=> (((X1 X4) X5)->(((e_is X2) ((ap X3) X4)) ((ap X3) X5)))))))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))
% 1.31/1.52  fofType:Type
% 1.31/1.52  functional_extensionality:=(fun (A:Type) (B:Type)=> ((functional_extensionality_dep A) (fun (x1:A)=> B))):(forall (A:Type) (B:Type) (f:(A->B)) (g:(A->B)), ((forall (x:A), (((eq B) (f x)) (g x)))->(((eq (A->B)) f) g)))
% 1.31/1.52  functional_extensionality_dep:(forall (A:Type) (B:(A->Type)) (f:(forall (x:A), (B x))) (g:(forall (x:A), (B x))), ((forall (x:A), (((eq (B x)) (f x)) (g x)))->(((eq (forall (x:A), (B x))) f) g)))
% 1.31/1.52  functional_extensionality_double:=(fun (A:Type) (B:Type) (C:Type) (f:(A->(B->C))) (g:(A->(B->C))) (x:(forall (x:A) (y:B), (((eq C) ((f x) y)) ((g x) y))))=> (((((functional_extensionality_dep A) (fun (x2:A)=> (B->C))) f) g) (fun (x0:A)=> (((((functional_extensionality_dep B) (fun (x3:B)=> C)) (f x0)) (g x0)) (x x0))))):(forall (A:Type) (B:Type) (C:Type) (f:(A->(B->C))) (g:(A->(B->C))), ((forall (x:A) (y:B), (((eq C) ((f x) y)) ((g x) y)))->(((eq (A->(B->C))) f) g)))
% 1.31/1.52  i1_s:=(d_Sep nat):((fofType->Prop)->fofType)
% 1.31/1.52  if:=(fun (X0:Prop) (X1:fofType) (X2:fofType)=> (eps (fun (X3:fofType)=> ((or ((and X0) (((eq fofType) X3) X1))) ((and (X0->False)) (((eq fofType) X3) X2)))))):(Prop->(fofType->(fofType->fofType)))
% 1.31/1.52  if_i_0:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((X0->False)->(((eq fofType) (((if X0) X1) X2)) X2)))
% 1.31/1.52  if_i_1:(forall (X0:Prop) (X1:fofType) (X2:fofType), (X0->(((eq fofType) (((if X0) X1) X2)) X1)))
% 1.31/1.52  if_i_correct:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((or ((and X0) (((eq fofType) (((if X0) X1) X2)) X1))) ((and (X0->False)) (((eq fofType) (((if X0) X1) X2)) X2))))
% 1.31/1.52  if_i_or:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((or (((eq fofType) (((if X0) X1) X2)) X1)) (((eq fofType) (((if X0) X1) X2)) X2)))
% 1.31/1.52  iff:=(fun (A:Prop) (B:Prop)=> ((and (A->B)) (B->A))):(Prop->(Prop->Prop))
% 1.31/1.52  iff_refl:=(fun (A:Prop)=> ((((conj (A->A)) (A->A)) (fun (H:A)=> H)) (fun (H:A)=> H))):(forall (P:Prop), ((iff P) P))
% 1.31/1.52  iff_sym:=(fun (A:Prop) (B:Prop) (H:((iff A) B))=> ((((conj (B->A)) (A->B)) (((proj2 (A->B)) (B->A)) H)) (((proj1 (A->B)) (B->A)) H))):(forall (A:Prop) (B:Prop), (((iff A) B)->((iff B) A)))
% 1.31/1.52  iff_trans:=(fun (A:Prop) (B:Prop) (C:Prop) (AB:((iff A) B)) (BC:((iff B) C))=> ((((conj (A->C)) (C->A)) (fun (x:A)=> ((((proj1 (B->C)) (C->B)) BC) ((((proj1 (A->B)) (B->A)) AB) x)))) (fun (x:C)=> ((((proj2 (A->B)) (B->A)) AB) ((((proj2 (B->C)) (C->B)) BC) x))))):(forall (A:Prop) (B:Prop) (C:Prop), (((iff A) B)->(((iff B) C)->((iff A) C))))
% 1.31/1.52  image:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((l_some X0) (fun (X4:fofType)=> (((e_is X1) X3) ((ap X2) X4))))):(fofType->(fofType->(fofType->(fofType->Prop))))
% 1.31/1.52  imp:=(fun (X0:Prop) (X1:Prop)=> (X0->X1)):(Prop->(Prop->Prop))
% 1.31/1.52  in:(fofType->(fofType->Prop))
% 1.31/1.52  incl:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((imp (((esti X0) X3) X1)) (((esti X0) X3) X2))))):(fofType->(fofType->(fofType->Prop)))
% 1.31/1.52  ind:=(fun (X0:fofType) (X1:(fofType->Prop))=> (eps (fun (X2:fofType)=> ((and ((in X2) X0)) (X1 X2))))):(fofType->((fofType->Prop)->fofType))
% 1.31/1.52  ind_p:(forall (X0:fofType) (X1:(fofType->Prop)), (((one X0) X1)->((is_of ((ind X0) X1)) (fun (X2:fofType)=> ((in X2) X0)))))
% 1.31/1.52  indeq2:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType)=> ((((indeq X0) X1) X2) (((((d_11_i X0) X1) X2) X3) X4))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->fofType))))))
% 1.31/1.52  indeq:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType)=> ((ind X2) (((((prop2 X0) X1) X2) X3) X4))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->fofType)))))
% 1.31/1.52  inj_h:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_Sigma X0) (fun (X5:fofType)=> ((ap X4) ((ap X3) X5))))):(fofType->(fofType->(fofType->(fofType->(fofType->fofType)))))
% 1.31/1.52  injective:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((all X0) (fun (X4:fofType)=> ((imp (((e_is X1) ((ap X2) X3)) ((ap X2) X4))) (((e_is X0) X3) X4))))))):(fofType->(fofType->(fofType->Prop)))
% 1.31/1.52  inverse:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X1) (fun (X3:fofType)=> (((if ((((image X0) X1) X2) X3)) ((((soft X0) X1) X2) X3)) emptyset)))):(fofType->(fofType->(fofType->fofType)))
% 1.31/1.52  invf:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X1) (((soft X0) X1) X2))):(fofType->(fofType->(fofType->fofType)))
% 1.31/1.52  is_of:=(fun (X0:fofType) (X1:(fofType->Prop))=> (X1 X0)):(fofType->((fofType->Prop)->Prop))
% 1.31/1.52  isseti:(forall (X0:fofType), ((all_of (fun (X1:fofType)=> ((in X1) (power X0)))) (fun (X1:fofType)=> ((all_of (fun (X2:fofType)=> ((in X2) (power X0)))) (fun (X2:fofType)=> ((((incl X0) X1) X2)->((((incl X0) X2) X1)->(((e_is (power X0)) X1) X2))))))))
% 1.31/1.52  ite:=(fun (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType)=> ((ind X1) ((((prop1 X0) X1) X2) X3))):(Prop->(fofType->(fofType->(fofType->fofType))))
% 1.31/1.52  k_EmptyAx:(((ex fofType) (fun (X0:fofType)=> ((in X0) emptyset)))->False)
% 1.31/1.52  k_If_In_01:(forall (X0:Prop) (X1:fofType) (X2:fofType), ((X0->((in X1) X2))->((in (((if X0) X1) emptyset)) (((if X0) X2) (ordsucc emptyset)))))
% 1.31/1.52  k_If_In_then_E:(forall (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType), (X0->(((in X1) (((if X0) X2) X3))->((in X1) X2))))
% 1.31/1.52  k_In_0_1:((in emptyset) (ordsucc emptyset))
% 1.31/1.52  k_In_ind:(forall (X0:(fofType->Prop)), ((forall (X1:fofType), ((forall (X2:fofType), (((in X2) X1)->(X0 X2)))->(X0 X1)))->(forall (X1:fofType), (X0 X1))))
% 1.31/1.52  k_Pi_ext:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Pi X0) X1))->(forall (X3:fofType), (((in X3) ((d_Pi X0) X1))->((forall (X4:fofType), (((in X4) X0)->(((eq fofType) ((ap X2) X4)) ((ap X3) X4))))->(((eq fofType) X2) X3))))))
% 1.31/1.52  k_PowerE:(forall (X0:fofType) (X1:fofType), (((in X1) (power X0))->((d_Subq X1) X0)))
% 1.31/1.52  k_PowerEq:(forall (X0:fofType) (X1:fofType), ((iff ((in X1) (power X0))) ((d_Subq X1) X0)))
% 1.31/1.52  k_PowerI:(forall (X0:fofType) (X1:fofType), (((d_Subq X1) X0)->((in X1) (power X0))))
% 1.31/1.52  k_ReplEq:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), ((iff ((in X2) ((repl X0) X1))) ((ex fofType) (fun (X3:fofType)=> ((and ((in X3) X0)) (((eq fofType) X2) (X1 X3)))))))
% 1.31/1.52  k_Self_In_Power:(forall (X0:fofType), ((in X0) (power X0)))
% 1.31/1.52  k_SepE1:(forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) ((d_Sep X0) X1))->((in X2) X0)))
% 1.31/1.52  k_SepE2:(forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) ((d_Sep X0) X1))->(X1 X2)))
% 1.31/1.52  k_SepI:(forall (X0:fofType) (X1:(fofType->Prop)) (X2:fofType), (((in X2) X0)->((X1 X2)->((in X2) ((d_Sep X0) X1)))))
% 1.31/1.52  k_Sigma_eta_proj0_proj1:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((and ((and (((eq fofType) ((pair (proj0 X2)) (_TPTP_proj1 X2))) X2)) ((in (proj0 X2)) X0))) ((in (_TPTP_proj1 X2)) (X1 (proj0 X2))))))
% 1.31/1.52  k_UnionEq:(forall (X0:fofType) (X1:fofType), ((iff ((in X1) (union X0))) ((ex fofType) (fun (X2:fofType)=> ((and ((in X1) X2)) ((in X2) X0))))))
% 1.31/1.52  k_UnivOf_In:(forall (X0:fofType), ((in X0) (univof X0)))
% 1.31/1.52  k_UnivOf_ZF_closed:(forall (X0:fofType), (d_ZF_closed (univof X0)))
% 1.31/1.52  l_ec:=(fun (X0:Prop) (X1:Prop)=> ((imp X0) (d_not X1))):(Prop->(Prop->Prop))
% 1.31/1.52  l_et:(forall (X0:Prop), ((wel X0)->X0))
% 1.31/1.52  l_iff:=(fun (X0:Prop) (X1:Prop)=> ((d_and ((imp X0) X1)) ((imp X1) X0))):(Prop->(Prop->Prop))
% 1.31/1.52  l_or:=(fun (X0:Prop)=> (imp (d_not X0))):(Prop->(Prop->Prop))
% 1.31/1.52  l_some:=(fun (X0:fofType) (X1:(fofType->Prop))=> (d_not ((all_of (fun (X2:fofType)=> ((in X2) X0))) ((non X0) X1)))):(fofType->((fofType->Prop)->Prop))
% 1.31/1.52  lam_Pi:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X0)->((in (X2 X3)) (X1 X3))))->((in ((d_Sigma X0) X2)) ((d_Pi X0) X1))))
% 1.31/1.52  nIn:=(fun (X0:fofType) (X1:fofType)=> (((in X0) X1)->False)):(fofType->(fofType->Prop))
% 1.31/1.52  n_1:=(ordsucc emptyset):fofType
% 1.31/1.52  n_1_p:((is_of n_1) (fun (X0:fofType)=> ((in X0) nat)))
% 1.31/1.52  n_all:=(all nat):((fofType->Prop)->Prop)
% 1.31/1.52  n_ax3:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((nis (ordsucc X0)) n_1)))
% 1.31/1.52  n_ax4:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> (((n_is (ordsucc X0)) (ordsucc X1))->((n_is X0) X1))))))
% 1.31/1.52  n_ax5:((all_of (fun (X0:fofType)=> ((in X0) (power nat)))) (fun (X0:fofType)=> ((cond1 X0)->((cond2 X0)->((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> ((n_in X1) X0)))))))
% 1.31/1.52  n_in:=(esti nat):(fofType->(fofType->Prop))
% 1.31/1.52  n_is:=(e_is nat):(fofType->(fofType->Prop))
% 1.31/1.52  n_one:=(one nat):((fofType->Prop)->Prop)
% 1.31/1.52  n_some:=(l_some nat):((fofType->Prop)->Prop)
% 1.31/1.52  nat:=((d_Sep omega) (fun (X0:fofType)=> (not (((eq fofType) X0) emptyset)))):fofType
% 1.31/1.52  nat_1:(nat_p (ordsucc emptyset))
% 1.31/1.52  nat_ind:(forall (X0:(fofType->Prop)), ((X0 emptyset)->((forall (X1:fofType), ((nat_p X1)->((X0 X1)->(X0 (ordsucc X1)))))->(forall (X1:fofType), ((nat_p X1)->(X0 X1))))))
% 1.31/1.52  nat_inv:(forall (X0:fofType), ((nat_p X0)->((or (((eq fofType) X0) emptyset)) ((ex fofType) (fun (X1:fofType)=> ((and (nat_p X1)) (((eq fofType) X0) (ordsucc X1))))))))
% 1.31/1.52  nat_ordsucc:(forall (X0:fofType), ((nat_p X0)->(nat_p (ordsucc X0))))
% 1.31/1.52  nat_p:=(fun (X0:fofType)=> (forall (X1:(fofType->Prop)), ((X1 emptyset)->((forall (X2:fofType), ((X1 X2)->(X1 (ordsucc X2))))->(X1 X0))))):(fofType->Prop)
% 1.31/1.52  nat_p_omega:(forall (X0:fofType), ((nat_p X0)->((in X0) omega)))
% 1.31/1.52  neq_ordsucc_0:(forall (X0:fofType), (not (((eq fofType) (ordsucc X0)) emptyset)))
% 1.31/1.52  nis:=(fun (X0:fofType) (X1:fofType)=> (d_not ((n_is X0) X1))):(fofType->(fofType->Prop))
% 1.31/1.52  nissetprop:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((d_and (((esti X0) X3) X1)) (d_not (((esti X0) X3) X2)))):(fofType->(fofType->(fofType->(fofType->Prop))))
% 1.31/1.52  non:=(fun (X0:fofType) (X1:(fofType->Prop)) (X2:fofType)=> (d_not (X1 X2))):(fofType->((fofType->Prop)->(fofType->Prop)))
% 1.31/1.52  nonempty:=(fun (X0:fofType) (X1:fofType)=> ((l_some X0) (fun (X2:fofType)=> (((esti X0) X2) X1)))):(fofType->(fofType->Prop))
% 1.31/1.52  not:=(fun (P:Prop)=> (P->False)):(Prop->Prop)
% 1.31/1.52  obvious:=((imp False) False):Prop
% 1.31/1.52  omega:=((d_Sep (univof emptyset)) nat_p):fofType
% 1.31/1.52  omega_nat_p:(forall (X0:fofType), (((in X0) omega)->(nat_p X0)))
% 1.31/1.52  one:=(fun (X0:fofType) (X1:(fofType->Prop))=> ((d_and ((amone X0) X1)) ((l_some X0) X1))):(fofType->((fofType->Prop)->Prop))
% 1.31/1.52  oneax:(forall (X0:fofType) (X1:(fofType->Prop)), (((one X0) X1)->(X1 ((ind X0) X1))))
% 1.31/1.52  or3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((l_or X0) ((l_or X1) X2))):(Prop->(Prop->(Prop->Prop)))
% 1.31/1.52  or:(Prop->(Prop->Prop))
% 1.31/1.52  or_comm_i:=(fun (A:Prop) (B:Prop) (H:((or A) B))=> ((((((or_ind A) B) ((or B) A)) ((or_intror B) A)) ((or_introl B) A)) H)):(forall (A:Prop) (B:Prop), (((or A) B)->((or B) A)))
% 1.31/1.52  or_first:=(fun (A:Prop) (B:Prop)=> (((((or_ind A) B) ((B->A)->A)) (fun (x:A) (x0:(B->A))=> x)) (fun (x:B) (x0:(B->A))=> (x0 x)))):(forall (A:Prop) (B:Prop), (((or A) B)->((B->A)->A)))
% 1.31/1.52  or_ind:(forall (A:Prop) (B:Prop) (P:Prop), ((A->P)->((B->P)->(((or A) B)->P))))
% 1.31/1.52  or_introl:(forall (A:Prop) (B:Prop), (A->((or A) B)))
% 1.31/1.52  or_intror:(forall (A:Prop) (B:Prop), (B->((or A) B)))
% 1.31/1.52  or_second:=(fun (A:Prop) (B:Prop) (x:((or A) B))=> (((or_first B) A) (((or_comm_i A) B) x))):(forall (A:Prop) (B:Prop), (((or A) B)->((A->B)->B)))
% 1.31/1.52  ordsucc:=(fun (X0:fofType)=> ((binunion X0) (d_Sing X0))):(fofType->fofType)
% 1.31/1.52  ordsucc_inj:(forall (X0:fofType) (X1:fofType), ((((eq fofType) (ordsucc X0)) (ordsucc X1))->(((eq fofType) X0) X1)))
% 1.31/1.52  orec3:=(fun (X0:Prop) (X1:Prop) (X2:Prop)=> ((d_and (((or3 X0) X1) X2)) (((ec3 X0) X1) X2))):(Prop->(Prop->(Prop->Prop)))
% 1.31/1.52  orec:=(fun (X0:Prop) (X1:Prop)=> ((d_and ((l_or X0) X1)) ((l_ec X0) X1))):(Prop->(Prop->Prop))
% 1.31/1.52  otax1:(forall (X0:fofType) (X1:(fofType->Prop)), (((injective ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1))))
% 1.31/1.52  otax2:(forall (X0:fofType) (X1:(fofType->Prop)), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((X1 X2)->((((image ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1))) X2)))))
% 1.31/1.52  out:=(fun (X0:fofType) (X1:(fofType->Prop))=> (((soft ((d_Sep X0) X1)) X0) ((d_Sigma ((d_Sep X0) X1)) ((e_in X0) X1)))):(fofType->((fofType->Prop)->(fofType->fofType)))
% 1.31/1.52  pair:=(fun (X0:fofType) (X1:fofType)=> ((binunion ((repl X0) d_Inj0)) ((repl X1) d_Inj1))):(fofType->(fofType->fofType))
% 1.31/1.52  pair_Sigma:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) X0)->(forall (X3:fofType), (((in X3) (X1 X2))->((in ((pair X2) X3)) ((d_Sigma X0) X1))))))
% 1.31/1.52  pair_p:=(fun (X0:fofType)=> (((eq fofType) ((pair ((ap X0) emptyset)) ((ap X0) (ordsucc emptyset)))) X0)):(fofType->Prop)
% 1.31/1.52  pairis1:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> (((e_is ((setprod X0) X1)) ((((d_pair X0) X1) (((first X0) X1) X2)) (((second X0) X1) X2))) X2))))
% 1.31/1.52  power:(fofType->fofType)
% 1.31/1.52  proj0:=(fun (X0:fofType)=> (((d_ReplSep X0) (fun (X1:fofType)=> ((ex fofType) (fun (X2:fofType)=> (((eq fofType) (d_Inj0 X2)) X1))))) d_Unj)):(fofType->fofType)
% 1.31/1.52  proj0_Sigma:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((in (proj0 X2)) X0)))
% 1.31/1.52  proj0_pair_eq:(forall (X0:fofType) (X1:fofType), (((eq fofType) (proj0 ((pair X0) X1))) X0))
% 1.31/1.52  proj1:(forall (A:Prop) (B:Prop), (((and A) B)->A))
% 1.31/1.52  proj1_Sigma:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->((in (_TPTP_proj1 X2)) (X1 (proj0 X2)))))
% 1.31/1.52  proj1_pair_eq:(forall (X0:fofType) (X1:fofType), (((eq fofType) (_TPTP_proj1 ((pair X0) X1))) X1))
% 1.31/1.52  proj2:(forall (A:Prop) (B:Prop), (((and A) B)->B))
% 1.31/1.52  proj_Sigma_eta:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:fofType), (((in X2) ((d_Sigma X0) X1))->(((eq fofType) ((pair (proj0 X2)) (_TPTP_proj1 X2))) X2)))
% 1.31/1.52  prop1:=(fun (X0:Prop) (X1:fofType) (X2:fofType) (X3:fofType) (X4:fofType)=> ((d_and ((imp X0) (((e_is X1) X4) X2))) ((imp (d_not X0)) (((e_is X1) X4) X3)))):(Prop->(fofType->(fofType->(fofType->(fofType->Prop)))))
% 1.31/1.52  prop2:=(fun (X0:fofType) (X1:(fofType->(fofType->Prop))) (X2:fofType) (X3:fofType) (X4:fofType) (X5:fofType)=> ((l_some X0) ((((((d_10_prop1 X0) X1) X2) X3) X4) X5))):(fofType->((fofType->(fofType->Prop))->(fofType->(fofType->(fofType->(fofType->Prop))))))
% 1.31/1.52  r_ec:=(fun (X0:Prop) (X1:Prop)=> (X0->(d_not X1))):(Prop->(Prop->Prop))
% 1.31/1.52  refis:(forall (X0:fofType), ((all_of (fun (X1:fofType)=> ((in X1) X0))) (fun (X1:fofType)=> (((e_is X0) X1) X1))))
% 1.31/1.52  relational_choice:(forall (A:Type) (B:Type) (R:(A->(B->Prop))), ((forall (x:A), ((ex B) (fun (y:B)=> ((R x) y))))->((ex (A->(B->Prop))) (fun (R':(A->(B->Prop)))=> ((and ((((subrelation A) B) R') R)) (forall (x:A), ((ex B) ((unique B) (fun (y:B)=> ((R' x) y))))))))))
% 1.31/1.52  repl:(fofType->((fofType->fofType)->fofType))
% 1.31/1.52  satz1:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((all_of (fun (X1:fofType)=> ((in X1) nat))) (fun (X1:fofType)=> (((nis X0) X1)->((nis (ordsucc X0)) (ordsucc X1)))))))
% 1.31/1.52  satz2:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((nis (ordsucc X0)) X0)))
% 1.31/1.52  satz3:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> (((nis X0) n_1)->(n_some (fun (X1:fofType)=> ((n_is X0) (ordsucc X1)))))))
% 1.31/1.52  second:=(fun (X0:fofType) (X1:fofType)=> _TPTP_proj1):(fofType->(fofType->(fofType->fofType)))
% 1.31/1.52  second_p:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) ((setprod X0) X1)))) (fun (X2:fofType)=> ((is_of (((second X0) X1) X2)) (fun (X3:fofType)=> ((in X3) X1))))))
% 1.31/1.52  secondis1:(forall (X0:fofType) (X1:fofType), ((all_of (fun (X2:fofType)=> ((in X2) X0))) (fun (X2:fofType)=> ((all_of (fun (X3:fofType)=> ((in X3) X1))) (fun (X3:fofType)=> (((e_is X1) (((second X0) X1) ((((d_pair X0) X1) X2) X3))) X3))))))
% 1.31/1.52  set_ext:(forall (X0:fofType) (X1:fofType), (((d_Subq X0) X1)->(((d_Subq X1) X0)->(((eq fofType) X0) X1))))
% 1.31/1.52  setminus:=(fun (X0:fofType) (X1:fofType)=> ((d_Sep X0) (fun (X2:fofType)=> ((nIn X2) X1)))):(fofType->(fofType->fofType))
% 1.31/1.52  setof_p:(forall (X0:fofType) (X1:(fofType->Prop)), ((is_of ((d_Sep X0) X1)) (fun (X2:fofType)=> ((in X2) (power X0)))))
% 1.31/1.52  setprod:=(fun (X0:fofType) (X1:fofType)=> ((d_Sigma X0) (fun (X2:fofType)=> X1))):(fofType->(fofType->fofType))
% 1.31/1.52  soft:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((ind X0) (fun (X4:fofType)=> (((e_is X1) X3) ((ap X2) X4))))):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.31/1.52  st_disj:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X0) (fun (X3:fofType)=> ((l_ec (((esti X0) X3) X1)) (((esti X0) X3) X2))))):(fofType->(fofType->(fofType->Prop)))
% 1.31/1.52  subrelation:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (R':(A->(B->Prop)))=> (forall (x:A) (y:B), (((R x) y)->((R' x) y)))):(forall (A:Type) (B:Type), ((A->(B->Prop))->((A->(B->Prop))->Prop)))
% 1.31/1.52  suc_p:((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> ((is_of (ordsucc X0)) (fun (X1:fofType)=> ((in X1) nat)))))
% 1.31/1.52  surjective:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((all X1) (((image X0) X1) X2))):(fofType->(fofType->(fofType->Prop)))
% 1.31/1.52  tofs:=(fun (X0:fofType) (X1:fofType)=> ap):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.31/1.52  union:(fofType->fofType)
% 1.31/1.52  unique:=(fun (A:Type) (P:(A->Prop)) (x:A)=> ((and (P x)) (forall (x':A), ((P x')->(((eq A) x) x'))))):(forall (A:Type), ((A->Prop)->(A->Prop)))
% 1.31/1.52  unique_choice:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (x:(forall (x:A), ((ex B) ((unique B) (fun (y:B)=> ((R x) y))))))=> ((((dependent_unique_choice A) (fun (x2:A)=> B)) R) x)):(forall (A:Type) (B:Type) (R:(A->(B->Prop))), ((forall (x:A), ((ex B) ((unique B) (fun (y:B)=> ((R x) y)))))->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), ((R x) (f x)))))))
% 1.31/1.52  univof:(fofType->fofType)
% 1.31/1.52  unmore:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sep X0) (fun (X3:fofType)=> ((l_some X1) (fun (X4:fofType)=> (((esti X0) X3) ((ap X2) X4))))))):(fofType->(fofType->(fofType->fofType)))
% 1.31/1.52  wel:=(fun (X0:Prop)=> (d_not (d_not X0))):(Prop->Prop)
% 1.31/1.52  wissel:=(fun (X0:fofType) (X1:fofType) (X2:fofType)=> ((d_Sigma X0) (((wissel_wb X0) X1) X2))):(fofType->(fofType->(fofType->fofType)))
% 1.31/1.52  wissel_wa:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((((ite (((e_is X0) X3) X1)) X0) X2) X3)):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.31/1.52  wissel_wb:=(fun (X0:fofType) (X1:fofType) (X2:fofType) (X3:fofType)=> ((((ite (((e_is X0) X3) X2)) X0) X1) ((((wissel_wa X0) X1) X2) X3))):(fofType->(fofType->(fofType->(fofType->fofType))))
% 1.31/1.52  xi_ext:(forall (X0:fofType) (X1:(fofType->fofType)) (X2:(fofType->fofType)), ((forall (X3:fofType), (((in X3) X0)->(((eq fofType) (X1 X3)) (X2 X3))))->(((eq fofType) ((d_Sigma X0) X1)) ((d_Sigma X0) X2))))]X0:fofType
% 1.31/1.52  X1:(fofType->Prop)
% 1.31/1.52  X2:fofType]x:((is_of X2) (fun (X2:fofType)=> ((in X2) ((d_Sep X0) X1))))]x0:fofType] (rdef{??}) X2:=((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> (((nis X0) n_1)->(n_one (fun (X1:fofType)=> ((n_is X0) (ordsucc X1))))))):Prop
% 1.31/1.52  ---
% 1.31/1.52  self=((all_of (fun (X0:fofType)=> ((in X0) nat))) (fun (X0:fofType)=> (((nis X0) n_1)->(n_one (fun (X1:fofType)=> ((n_is X0) (ordsucc X1))))))):Prop
% 1.31/1.52  term=(((e_in X0) X1) X2):fofType
% 1.31/1.52  --- does not match type in application fofType vs Prop in (((e_in X0) X1) ((all_of (fun X0:fofType=> ((in X0) nat))) (fun X0:fofType=> (forall x:((nis X0) n_1), (n_one (fun X1:fofType=> ((n_is X0) (ordsucc X1))))))))
% 1.31/1.52  Unexpected exception Does not match type in application fofType vs Prop in (((e_in X0) X1) ((all_of (fun X0:fofType=> ((in X0) nat))) (fun X0:fofType=> (forall x:((nis X0) n_1), (n_one (fun X1:fofType=> ((n_is X0) (ordsucc X1))))))))
% 1.31/1.52  
% 1.31/1.52  Traceback (most recent call last):
% 1.31/1.52    File "CASC.py", line 80, in <module>
% 1.31/1.52      proof=problem.solve()
% 1.31/1.52    File "/export/starexec/sandbox2/solver/bin/TPTP.py", line 95, in solve
% 1.31/1.52      for x in self.solveyielding():
% 1.31/1.52    File "/export/starexec/sandbox2/solver/bin/TPTP.py", line 83, in solveyielding
% 1.31/1.52      for proof in proofgen: yield proof
% 1.31/1.52    File "/export/starexec/sandbox2/solver/bin/prover.py", line 422, in proveyielding
% 1.31/1.52      results=node.look() #Can add nodes
% 1.31/1.52    File "/export/starexec/sandbox2/solver/bin/prover.py", line 1221, in look
% 1.31/1.52      matching=target.match(term.body,self.context,termbodycontext,instantiate=True)
% 1.31/1.52    File "/export/starexec/sandbox2/solver/bin/kernel.py", line 576, in match
% 1.31/1.52      atermmatch=s.abstracttermmatch(params,context,termcontext,instantiate=instantiate)
% 1.31/1.52    File "/export/starexec/sandbox2/solver/bin/kernel.py", line 1192, in abstracttermmatch
% 1.31/1.52      print "t=%s:%s" % (t,t.gettype(termsubcontext))
% 1.31/1.52  kernel.TypecheckError: Does not match type in application fofType vs Prop in (((e_in X0) X1) ((all_of (fun X0:fofType=> ((in X0) nat))) (fun X0:fofType=> (forall x:((nis X0) n_1), (n_one (fun X1:fofType=> ((n_is X0) (ordsucc X1))))))))
% 1.31/1.52  
%------------------------------------------------------------------------------